草庐IT

java - 将 int 值拆分为单独的数字

我想将我的int值拆分成数字。例如,如果没有。是542,结果应该是5,4,2。我有两个选择。1)将int转换为String&然后使用getCharArray(),我可以有单独的字符&然后我将它们转换回int值。2)将int转换为String,但不将其转换为char数组,迭代它并获取所有数字。有没有其他方法可以解决这个问题。如果不是,哪个选项会很快? 最佳答案 Listdigits(inti){Listdigits=newArrayList();while(i>0){digits.add(i%10);i/=10;}returndigi

java - 为什么 "int i = (byte) + (char) - (int) + (long) - 1"是 1?

这个问题在这里已经有了答案:Weirdjavabehaviorwithcaststoprimitivetypes(3个答案)关闭8年前。我在网上偶然发现了这段代码publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){inti=(byte)+(char)-(int)+(long)-1;System.out.println(i);}}它打印1。我能知道为什么吗?这是来源-->http://www.javacodegeeks.com/2011/10/weird-funny-java.html

java - int[] array 和 int array[] 的区别

最近一直在思考两种定义数组的方式的区别:int[]数组int数组[]有区别吗? 最佳答案 它们在语义上是相同的。添加intarray[]语法只是为了帮助C程序员习惯java。int[]array更可取,而且不会造成混淆。 关于java-int[]array和intarray[]的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3846080/

java - Arrays.copyOfRange(byte[], int, int) 奇怪行为背后的逻辑是什么?

任何人都可以向我解释Arrays.copyOfRange(byte[],int,int))的奇怪行为背后的逻辑吗??我可以用简单的例子来说明我的意思:byte[]bytes=newbyte[]{1,1,1};Arrays.copyOfRange(bytes,3,4);//Returnssingleelement(0)arrayArrays.copyOfRange(bytes,4,5);//ThrowsArrayIndexOutOfBoundsException在这两种情况下,我都将范围复制到数组边界之外(即start>=array.length),因此错误条件至少对我来说很奇怪(如果是

java - List[Int] 和 List[Integer] 类型删除的区别

为什么List[scala.Int]类型删除到List[Object]而Integer在List[java.lang.Integer]似乎被保存?例如,javap用于objectFoo{deffooInt:List[scala.Int]=???deffooInteger:List[java.lang.Integer]=???}输出publicscala.collection.immutable.ListfooInt();publicscala.collection.immutable.ListfooInteger();我们看到Integer在第二种情况下被保留。文档stateRepla

java - 为什么 *= 在将 float 隐式转换为 int 时不给出任何错误?

这个问题在这里已经有了答案:Whydon'tJava's+=,-=,*=,/=compoundassignmentoperatorsrequirecasting?(11个答案)关闭9年前。我之前遇到过一种情况,我尝试了以下两段代码:intscore=100;score=score*1.05;和intscore=100;score*=1.05;第一个失败了(很明显,我试图隐式地将float转换为int)。但是第二个工作得很好。编译器没有提示,我也没有收到任何运行时错误。为什么第二个有效,而第一个无效?据我所知,x*=y只是x=x*y的简写。

java - 在java中将3个字节转换为int

我想在Java中将bytes转换为int。我想假设字节是无符号字节。假设如果bytea=(byte)0xFF;intr=(someoperationonbytea);r应该是255,而不是十进制的-1。然后我想从3个字节创建int值。假设如果byteb1=(byte)0x0F;byteb2=(byte)0xFF;byteb3=(byte)0xFF;intr=(someoperationinbytesb1,b2andb3);那么r应该是0x000FFFFF。字节b1将放置在int值中较高的第3个位置,字节b3将放置在第1个较低的位置。此外,我的b1的范围从0x00到0x0F,其他字节的范

Java隐式转换int到byte

我即将开始做一些需要读取字节和创建字符串的工作。读取的字节表示UTF-16字符串。因此,为了测试一下,我想将UTF-16编码的简单字节数组转换为字符串。数组中的前2个字节必须代表字节顺序,因此必须是0xff0xfe或0xfe0xff。所以我尝试按如下方式创建字节数组:byte[]bytes=newbyte[]{0xff,0xfe,0x52,0x00,0x6F,0x00};但我得到了一个错误,因为0xFF和0xFE太大而无法放入一个字节(因为字节是用Java签名的)。更准确地说,错误是无法将int转换为字节。我知道我可以通过强制转换从int显式转换为byte并获得所需的结果,但这不是我的

java - 从数据库中检查 int 变量是否为 null 或为空

这个问题在这里已经有了答案:CheckingforanullintvaluefromaJavaResultSet(13个答案)关闭4年前。我有一个变量是:nocustomers=rs.getInt("CUST_TRAN_COUNT");无论是否为null,我都想执行。我试过了if(nocustomers==null)显示错误。我该如何解决?我新修改的代码是:try{query="select*fromSS_summarywheretxn_date=to_date('"+asatdate+"','YYYY-MM-DD')";st=conn.createStatement();rs=st.

java - “Type mismatch: cannot convert int to byte”

我看到有人问关于错误“类型不匹配:无法将int转换为字节”的问题。但它们大多是由涉及的算术运算引起的。这是我的案例:(当我想在EclipseKepler中玩位时会发生这种情况)//java7binaryliteralsbytea=0b01111111;//8-bititcompilesbyteb=0b10000000;//8-biterror:Typemismatch:cannotconvertinttobyte.bytec=(byte)0b10000000;//8-bititworksfineifcasted.问题是,如果它是8位并且最高位是1,那么编译器会给出错误。我想知道为什么。