猿问

在Java中配置空字符串

在Java中配置空字符串

为什么要用下面的方法呢?我希望NullPointerException被扔出去。

String s = null;s = s + "hello";System.out.println(s); // prints "nullhello"


神不在的星期二
浏览 393回答 3
3回答

皈依舞

见部分5.4和15.18Java语言规范:当其中一个参数是字符串时,字符串转换仅适用于二进制+运算符的操作数。在这种特殊情况下,+的另一个参数被转换为字符串,而一个新的字符串(即两个字符串的连接)是+的结果。字符串转换是在字符串连接+操作符的描述中详细指定的。和如果只有一个操作数表达式为String类型,则在另一个操作数上执行字符串转换,以便在运行时生成一个字符串。结果是对字符串对象(除非表达式是编译时常量表达式(§15.28)的引用,即两个操作数字符串的连接。在新创建的字符串中,左操作数的字符位于右操作数的字符之前。如果字符串类型的操作数为NULL,则使用字符串“NULL”代替该操作数。

沧海一幻觉

您没有使用“NULL”,因此不会得到异常。如果你想要NullPoter,就这么做String s = null;s = s.toString() + "hello";我觉得你想做的是:String s = "";s = s + "hello";
随时随地看视频慕课网APP

相关分类

Java
我要回答