278得票10回答
在Java中进行类型转换时遇到空值不会抛出异常

String x = (String) null; 为什么这个语句中没有异常?String x = null; System.out.println(x); 它打印出 null。但是 .toString() 方法应该抛出空指针异常。

251得票6回答
使用Java8中的lambda表达式仅过滤非空值

我有一个对象列表,比如car。我想使用Java 8根据某些参数过滤这个列表。但是如果参数是null,它会抛出NullPointerException异常。如何过滤掉空值? 当前代码如下requiredCars = cars.stream().filter(c -> c.getName(...

229得票11回答
没有空值的编程语言的最佳解释

经常当程序员抱怨 null 错误/异常时,会有人问如果不用 null 会怎样。 我对选项类型的酷炫之处有一些基本概念,但我没有足够的知识或语言技能来最好地表达它。以下是一个可以向普通程序员解释的 好 的说明: 默认情况下将引用/指针设为可空的不可取性 选项类型的工作原理,包括简化检查 n...

227得票10回答
Android - 如何重写“返回”按钮,使其不会结束我的Activity?

我现在有一个Activity,当它显示时,还会在通知栏中显示通知。 这样,当用户按下home键并将Activity推到后台时,他们可以通过通知返回Activity。 问题出现在用户按下返回按钮时,我的Activity被销毁,但通知仍然存在,因为我希望用户能够按返回按钮但仍能通过通知回到Ac...

225得票3回答
将一个Date对象转换成一个日历对象

我从一个传入的对象中获取了一个日期属性,形式如下:Tue May 24 05:05:16 EDT 2011 我正在编写一个简单的帮助方法将其转换为日历方法,我使用了以下代码: public static Calendar DateToCalendar(Date date ) { C...

209得票12回答
什么是空指针异常,我该如何修复它?

什么是空指针异常(java.lang.NullPointerException)以及它的产生原因? 有哪些方法/工具可以用来确定它的原因,以便防止该异常导致程序过早终止?

199得票8回答
Android. Fragment的getActivity()有时会返回null。

在开发者控制台的错误报告中,有时我会看到NPE问题的报告。我不明白我的代码哪里出了问题。在模拟器和我的设备上,应用程序没有强制关闭,但是某些用户在调用getActivity()方法时,在片段类中遇到了NullPointerException问题。 活动 pulic class MyAct...

194得票9回答
为什么要明确地抛出NullPointerException而不是让它自然发生?

阅读JDK源代码时,我发现作者经常会检查参数是否为空,然后手动抛出一个新的NullPointerException()异常。他们为什么要这样做呢?我认为没有必要这样做,因为当调用任何方法时,它会自动抛出新的NullPointerException()异常。(例如HashMap的一些源代码:)p...

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

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

179得票11回答
如何更有效地使用@Nullable和@Nonnull注释?

我可以看到 @Nullable 和 @Nonnull 注释可能会有助于防止NullPointerException,但它们的作用范围有限。 这些注释的有效性在一级间接后完全降低,因此如果您仅添加了几个,它们的作用范围不会很远。 由于这些注释没有得到很好的执行,因此有一个危险,即假定带有@...