Japanese / English
String型の省メモリプログラミング
String型はnew String()しているコードをよく見ます。
省メモリプログラミングを考えるならば、インスタンス化するのではなく、String str = ""とすべきです。

以下、サンプルです。

package purejava;

public class Sample {

    public static void main(String[] args) {
        String value1 = "a";
        String value2 = "a";
        String value3 = new String("a");
        String value4 = new String("a");
        System.out.println(value1 == value2);
        System.out.println(value1 == value3);
        System.out.println(value3 == value4);
    }
}
実行結果は以下になります。

true
false
false
false
参照型の==比較はメモリ番地を比較しています。上記の結果をみると、value3とvalue4は同じ文字列であるにもかかわらず異なるメモリ番地を使用しているのがわかります。
逆にvalue1とvalue2は同じ番地を参照しているのがわかります。

Back to top

Information
Information
社長ブログ


運営サイト




広告



Google Search
PV
SEO対策 大阪  税理士 相談  税理士 守口市  税理士 大阪市  税理士 枚方市  自動車ガラス 神戸  シール印刷 神戸  ブリリアントアパートメント  株式会社CONFRAGE  英会話 個人レッスン 京都市右京区  京都市右京区西京区でマンツーマン英会話 
このページはCONFRAGEの著作物です。このページを複製・転載することを禁じます。CopyRight(C)2003-2016 CONFRAGE All rights reserved.