private final static String
メソッドにアクセスするたびに「初期化」する必要があるローカル文字列変数を使用する場合と比較して、Java で使用することによるパフォーマンス上の利点はありますか?
文字列を使用することは、クラスのさまざまな部分で再利用される定数には良い習慣だと思いますprivate static final
が、文字列が 1 つのメソッド、1 つの場所でのみ使用される場合、他のメソッドは関係ないという非常に具体的な理由があります。について、私は実際にはクラスの内部インターフェイスをクリーンに保ち、プライベートメンバーを減らし、ローカル変数のみを使用することを好みます。
Java に文字列のインターンがあり、実際には引用符 ( String s = "some string"
) を使用して宣言された各文字列の 1 つのコピーを含むプールを保持している場合、メソッドにアクセスするたびに変数を宣言/初期化/割り当てる必要があるため、実際にはパフォーマンスが低下します。 vs静的文字列を使用する?
もう少し明確にするために、またはの使用に違いはありますSS
かLS
?
class c {
private final static String SS = "myString";
private void method(){
//do something with SS
}
private void OtherMethod(){
String LS = "myOtherString"
//do same thing with LS
}
}