[英]Default value of Java String: null vs “”
Java字符串的默认值为'null'。 但是,当我实例化字符串时,它似乎是一个空字符串。 有人可以解释一下吗?
class Stuff
{
String a;
String b = new String();
}
class Demo
{
public static void main( String[] args )
{
Stuff s = new Stuff();
System.out.println( s.a );
System.out.println( s.b );
if( s.b.equals( "" ) )
{
System.out.println( "true" );
}
}
}
在Java中,默认字符串或设置为null的字符串没有值。 通过使用“”或new String()
设置字符串,它将创建String类的新实例。 以“”或new String()
开头的字符串只是准备使用的字符串。 我想你可以把它当作杯子。 如果某物为null,则没有杯子,但是如果某物(例如此字符串)以new String()
或“”的形式初始化,则您现在有一个空杯子。
好吧,字符串b
不再为null
,因为您创建了一个String
并将其分配给该变量。
如果使用默认的String
构造函数,则会得到一个空String
:
公共String()
初始化一个新创建的String对象,使其代表一个空字符序列。 注意,由于字符串是不可变的,因此不需要使用此构造函数。
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#String()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.