私は C++ でこのイディオムを定期的に使用しています。
/*return type*/ foo(/*parameters*/){
static const char* bar = "Bar";
/*some code here*/
}
内部的に、これは文字列リテラルのテーブルに追加されます。このJavaコードは同様のことを行いますか:
/*return type*/ foo(/*parameters*/){
final String bar = "Bar";
/*some code here*/
}
または、ここで無意識のうちに非効率性を導入していますか?