String

宣告

在fix findubg系列文章中有提到的寫法:(DM_STRING_VOID_CTORDM_STRING_CTOR)

String bad1 = new String("test");
String bad2 = new String();
V.S.
String good1 = "test";
String good2 = "";
主要原理是由於“test”與““在編譯時就就已決定放置於Constant Pool。new String(“test”)在編譯時也會將”test”放到Constant Pool,然後Runtime會再去做new String的動作。這是不必要的浪費!