黑马程序员技术交流社区
标题:
关于字符串相加的问题
[打印本页]
作者:
HM黄祥为
时间:
2013-4-9 10:27
标题:
关于字符串相加的问题
如下代码
public class Demo {
private static String a;
private static String b;
public static void main(String[] args) {
String c = a + b;
System.out.println(c);
}
}
这段代码输出时 nullnull
为什么会这样 a和b都为空 相加后 c应该为空才对 怎么会打印nullnull呢
作者:
随便
时间:
2013-4-9 10:35
private static String a;
a,b是因为没有初始化就是用所以是null。
c是定义的局部变量,而且赋值了。所以不会是null。a,b都是null,字符串的相加就是字符串连接。所以两个null连接。
”nullnull“。
只有当c没有初始化值的时候才会是null。
还有就是null跟“null”是有区别的。
作者:
杜鹏飞
时间:
2013-4-9 10:42
学习了!
作者:
hacket
时间:
2013-4-9 11:15
public static void main(String[] args)
{
String c = a + b;
String d = "nullnull";
System.out.println(c);//nullnull
System.out.println("equals:"+c.equals(d));//true,从这句可以看到,a和b的null转换成了字符串进行了比较,也就是我的理解是运算符"+"会将两边的转成字符串
System.out.println("==:"+(c==d));//false
}
复制代码
作者:
王大斌
时间:
2013-4-9 13:14
由于在类中定义的类变量都有一个默认值,引用数据类型默认为null,局部变量没有默认值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2