[英]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.