570得票21回答
如何在Java中将int[]转换为List<Integer>?

如何在Java中将int[]转换为List&lt;Integer&gt;? 当然,除了逐个循环项之外,我对任何其他答案都很感兴趣。但如果没有其他答案,我会选择那个作为最佳答案,以显示这个功能不是Java的一部分。

304得票10回答
如何在Java中正确比较两个整数?

我知道如果你将一个包装好的基本类型整数与一个常量进行比较,例如: Integer a = 4; if (a &lt; 5) a会自动拆箱,然后比较操作就可以正常运行。 但是,当你要比较两个封装的Integer对象时,想要比较相等性或大小关系怎么办呢? Integer a = 4; I...

190得票8回答
使用三元运算符返回null作为int类型是允许的,但在if语句中不被允许。

让我们来看一下下面代码段中的简单Java代码:public class Main { private int temp() { return true ? null : 0; // No compiler error - the compiler al...

184得票21回答
为什么人们在Java中仍然使用原始类型?

自Java 5以来,我们就可以将基本类型装箱/拆箱,使得int转换为java.lang.Integer等等。 我最近看到很多新的Java项目(肯定需要JRE至少版本5,如果不是6),它们使用int而不是java.lang.Integer,尽管使用后者更加方便,因为它具有一些帮助方法,可以将其...

137得票4回答
布尔值,条件运算符和自动装箱

为什么会抛出 NullPointerException 异常?public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on th...

136得票12回答
Java中奇怪的整数装箱问题

我刚刚看到类似于这样的代码:public class Scratch { public static void main(String[] args) { Integer a = 1000, b = 1000; System.out.printl...

116得票4回答
比较包装的Long值127和128

我想使用if条件比较两个Long对象的值。当这些值小于128时,if条件可以正常工作,但当它们大于或等于128时,比较失败。 示例:Long num1 = 127; Long num2 = 127; if (num1 == num2) { // Works ok } 上面的代码比较...

112得票3回答
为什么 int num = Integer.getInteger("123") 会抛出 NullPointerException 异常?

以下代码会抛出 NullPointerException:int num = Integer.getInteger("123"); 我的编译器会在null上调用getInteger吗,因为它是静态的?这毫无意义! 发生了什么?

97得票10回答
为什么在Java中要使用自动装箱和拆箱?

自动装箱是Java编译器在原始类型和相应的对象包装类之间进行的自动转换。例如,将int转换为Integer,double转换为Double等。如果转换反向进行,则称为自动拆箱。那么我们为什么需要它,为什么在Java中使用自动装箱和拆箱呢?

77得票3回答
当使用“==”比较基本类型和包装类型时,会进行自动装箱还是拆箱操作?

以下代码可在Java 8中编译: Integer i1 = 1000; int i2 = 1000; boolean compared = (i1 == i2); 但它是做什么用的? 拆箱 i1: boolean compared = (i1.intvalue() == i2); ...