Tag: null

当参数字符串为null时,int compareTo()应该返回什么?

据说当input参数为null时,compareTo()应抛出NullPointerException。 但是,我正在实现一个需要将字段与String类型进行比较的类。 这些字段不必是强制性的。 我想知道在这种情况下, 1)当输入为空时我应该返回什么? 是否任何非空字符串按字典顺序大于或小于null? 和 2)如果这被认为是不好的做法,是否有任何支持性论点? 我应该强制用户使用空字符串吗? 如果使用空字符串,那不会混淆字段不适用的情况和字段为空的情况吗? 如果必须抛出exception,那么除了在手册中警告用户之外,还有什么可以/我应该做什么? 编辑:我可能不会在这里清楚地表达自己,但在我正在实现的程序中,可以为null的字符串是所有字段或类,不应该为null。 换句话说,comparisonTo()使用的对象不能为null,只有它们的私有字段可以。 所以在这种情况下,我相信如果我正确地实现了compareTo(),它就不会违反传递要求,因为具有空字段的类总是被认为是相同的。 我是对的还是我在解释这个错误? 谢谢大家的答案!

在Stream中过滤Null项

使用Java Stream时,映射后有时会出现空值。 目前,当需要省略这些值时,我使用: .stream() . .filter(element -> element != null) . 对于更具function性的风格,可以快速编写一个小辅助方法: public static boolean nonNull(T entity) { return entity != null; } 这样您就可以使用方法引用: .stream() . .filter(Elements::nonNull) . 我找不到这样的jdk方法,即使我怀疑他们已经包含了一个。 这里有不同的方法吗? 或者他们是否因为某种原因而省略了这个?

从Jar加载图像:始终为null

看了SO上的其他post,他们没有解决这个问题。 我正在尝试从我的jar文件加载图像。 它一直是空的。 图像位于: .Jar file > images > BLOCK.png 要加载我正在做的图像: BufferedImage bImg; URL url = getClass().getResource(“/images/BLOCK.png”); try { bImg = ImageIO.read(url); } catch (IOException ex) { Logger.getLogger(TileEngine.class.getName()).log(Level.SEVERE, null, ex); } url是空的,因为它是bImg。 不要担心区分大小写,因为我已经检查过了。

Java,将null赋给object和声明之间的区别是什么

有什么区别: Object o = null ; 和 Object o; (只是声明) 有人可以回答我吗?

清除或设置null到java中的对象

我最近正在考虑释放Java对象占用的内存。 在这样做时,我对如何在Java中复制(浅/深)对象以及如何避免在对象仍处于使用状态时意外清除/无效而感到困惑。 请考虑以下方案: 将ArrayList作为参数传递给方法。 将ArrayList传递给可由线程处理的可运行类。 将ArrayList放入HashMap 。 现在在这种情况下,如果我调用list = null; 或list.clear(); ,对象会发生什么? 在这种情况下,对象会丢失,在哪种情况下只将引用设置为null? 我想这与浅层和深层复制对象有关,但在哪些情况下会发生浅层复制,在这种情况下,深层复制是否发生在Java中?

理解Java中的null和’\ u000’之间的区别

我读了一本书(Bruce Eckel的Thinking in Java,第4版,第47页) , null等于’\u000′ 。 然后我想知道’\u000’究竟是什么意思。 根据我的理解,null无关紧要或没有任何东西。 并且’\u000’与此定义相矛盾。 任何人都可以澄清这个关于null和’\u000’吗?

是否有可能在Java中检查对象字段是否为空,然后将默认值添加到所有这些属性?

我需要确保没有object属性为null并且如果它为null则添加默认值。 有没有简单的方法可以做到这一点,还是我必须通过其getter和setter检查每个属性来手动完成?

NullPointerException(Java)

我已经尝试查看有关此问题的post,但我的代码中仍然遇到此错误的问题。 因此,在第四行中,我创建了一个名为SongDatabase的实例变量来访问SongDatabase类。 但当我下到线时, SongDatabase.addNewSong(); 在case 1 ,我得到一个java.lang.NullPointerException:null错误。 接口类: public class Interface { Scanner console = new Scanner(System.in); private SongDatabase SongDatabase; public static void main(String[] args) { Interface intFace = new Interface(); intFace.run(); } private void run() { switch (userInput) { case 1: SongDatabase.addNewSong(); break; case 2: SongDatabase.removeSong(); break; case 3: SongDatabase.sortSongs(); break; default: System.out.println(“Please enter […]

使用null对象引用调用静态方法时会发生什么?

public class CallingStaticMethod { public static void method() { System.out.println(“I am in method”); } public static void main(String[] args) { CallingStaticMethod csm = null; csm.method(); } } 有人可以解释如何在上面的代码中调用静态方法吗?

Java内存中究竟是什么null

如果我声明一些字符串变量 String str = null; 是否为变量str分配了内存? 如果已分配,将分配多少字节? 如果没有分配,JVM如何知道有一些名为str变量被声明? 如果已分配并且内存中null值,那么二进制中的null表示究竟是什么?