草庐IT

int_expr

全部标签

java - 为什么 Java 不允许转换 Boolean -> Int?

我想知道为什么Java不允许从boolean值转换为int,如下所示:booleanfoo=true;intbar=(int)foo;这可以在一行代码中完成,例如,bar=foo?1:0;但似乎更好、更易于阅读的方法是允许类型转换,如double和int。为什么Java不包含此功能? 最佳答案 它不允许这样做,因为Java设计者(正确地)认识到C和C++中的boolean/整数重载是错误的重要来源。(我记得在一些设计原理中看到过,但我找不到。)例如:if(i=0){...}是合法的,但可能是用C或C++编写的应用程序中的错误。Jav

java - 如何检查一个 int 是否不为 null 或为空?

我真的不知道这是否可能。但是我想检查一个int值是否为null以调用不同的方法。有什么办法吗?实际上,变量来自具有null值的浏览器。我无法将int声明更改为Integer。因为它有自己的后果。有什么建议吗? 最佳答案 int变量不能为null如果一个null要被转换为int,那么它是转换器决定是否设置0,抛出异常,或者设置另一个值(如Integer.MIN_VALUE)。尝试插入您自己的转换器。 关于java-如何检查一个int是否不为null或为空?,我们在StackOverflow

java - 将整数列表转换为 int 数组

这个问题在这里已经有了答案:HowcanIconvertListtoint[]inJava?[duplicate](16个答案)关闭9年前。有没有办法将整数列表转换为整数数组(不是整数)。像Listtoint[]这样的东西?无需遍历列表并手动将整数转换为整数。

Java 8 Arraylist hugeCapacity(int) 实现

我正在阅读有关如何在Java中生成ArrayList的文档。我不明白为什么hugeCapacity(intminCapacity)方法选择返回Integer.MAX_VALUE或MAX_ARRAY_SIZE。根据MAX_ARRAY_SIZE在类中的定义,244|privatestaticfinalintMAX_ARRAY_SIZE=Integer.MAX_VALUE-8;它几乎与Integer.MAX_VALUE相同,只是差了一个整数的大小(32位)。264|privatestaticinthugeCapacity(intminCapacity){265|if(minCapacityM

Java 泛型 : actual argument T cannot be converted to int by method invocation conversion

我有这样的代码://ThisclasscannotbechangedclassVendorApi{staticvoidfunc1(charx){}staticvoidfunc1(intx){}staticvoidfunc1(floatx){}staticvoidfunc1(doublex){}}classMain{staticvoidmy_func(Targ){//muchofcode,whichusesT//...VendorApi.func1(arg);}publicstaticvoidmain(Stringargs[]){//callmy_funcforeachtype(char

java - long/int 除法中的意外结果

我有这样的值(value)观:longmillis=11400000;intconsta=86400000;doubleres=millis/consta;问题是:为什么res等于0.0(而不是大约0.131944)?它存储在double中,所以不应该四舍五入吗? 最佳答案 当您使用二元运算符时,两个参数应该是同一类型并且结果也将是它们的类型。当你想划分(int)/(long)它变成了(long)/(long)结果是(long).你应该做到(double)/(long)或(int)/(double)得到双重结果。由于double大于

Java null 到 int 条件运算符问题

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:TrickyternaryoperatorinJava-autoboxing我们知道introomCode=null;是编译器不允许的。那么为什么代码1不给出编译器错误,而代码2给出。代码1:introomCode=(childCount==0)?100:null;代码2:introomCode=0;if(childCount==0)roomCode=100;elseroomCode=null;//Typemismatch:cannotconvertfromnulltoint

java - 使用十进制将 int 转换为 BigDecimal - Java

我很难弄清楚如何转换它。这是我想要的:inti=5900;BigDecimalbD=newBigDecimal(i);我需要bD为59.00,但我不知道如何得到这个结果。我所能得到的只是BigDecimal类型的5900。任何建议都会有所帮助,谢谢。 最佳答案 你还没有很具体地说明你想要的语义,但它看起来像BigDecimal.valueOf(i).movePointLeft(2)做你想做的。 关于java-使用十进制将int转换为BigDecimal-Java,我们在StackOver

java - 通过使用特定于该枚举的 int 来设置枚举?

大家好。所以我有一组枚举和一个带有与这些枚举对应的整数的数据库。像这样的东西,例如:publicstaticenumDay{SUNDAY(1),MONDAY(2),TUESDAY(3),WEDNESDAY(4),THURSDAY(5),FRIDAY(6),SATURDAY(7);publicfinalintfId;privateDay(intid){this.fId=id;}}我还有一个数据库,它只用整数来引用这些天,这些整数对应于上面枚举集中的int。我想要做的是查询一个数据库,它将返回一个整数,然后根据从数据库返回的整数将枚举数设置为一个对象。我可以这样做:publicstatic

java - char和int数组的区别

当我尝试打印未初始化的staticchar数组时,它给出了运行时错误(空指针异常),而未初始化的staticint数组给出了空值。为什么?publicclassabc{staticintarr[];staticcharch[];publicstaticvoidmain(String[]args){System.out.println(ch);//itgivesnullpointerexceptionatruntimeSystem.out.println(arr);//itgivesoutputas"null".}} 最佳答案 Sys