对于那些声称""和String.Empty是可以互换的,或者""更好,你是非常错误的。
每次你做一些像myVariable =“”; 你正在创build一个对象的实例。 如果Java的String对象有一个EMPTY公共常量,那么只有一个对象“”的实例
例如: –
String.EMPTY = ""; //Simply demonstrating. I realize this is invalid syntax myVar0 = String.EMPTY; myVar1 = String.EMPTY; myVar2 = String.EMPTY; myVar3 = String.EMPTY; myVar4 = String.EMPTY; myVar5 = String.EMPTY; myVar6 = String.EMPTY; myVar7 = String.EMPTY; myVar8 = String.EMPTY; myVar9 = String.EMPTY;
10(11包括String.EMPTY)指向1个对象
要么: –
myVar0 = ""; myVar1 = ""; myVar2 = ""; myVar3 = ""; myVar4 = ""; myVar5 = ""; myVar6 = ""; myVar7 = ""; myVar8 = ""; myVar9 = "";
10个指向10个对象的指针
这是低效的,在整个大型应用程序中,可能是重要的。
也许Java编译器或运行时足够高效,可以自动将“”的所有实例指向同一个实例,但不一定需要额外的处理才能做出决定。