Java種の基本データ型と定数プール
1802 ワード
JAvaの8の基本データ型
|---------------整型
|-----byte
|-----short
|-----int
|-----long
|---------浮動小数点型
|-----float
|-----double
|---------文字
|-----char
|---------ブール
|-----boolean
注目すべきはnullキーワードであり、Objectには属しておらず、参照データ型に値が割り当てられていないことを示しています.
例:String name;
System.out.println(name);//コンパイルエラー、nameは割り当てられていません
String name = new String();
System.out.println(name);//nameは「」空の文字列です!
class Temp{
String name;
}
System.out.println(new Temp().name);//出力null
要約:nullは、参照データ型が値を割り当てていないことを示します.
2. Javaは、実行時の速度を速め、メモリを節約するために、8つのデータ型とStringに定数プールを提供しています.システムレベルのキャッシュのように、面接時に文字列定数プールとnewオブジェクトの違いを尋ねるのが一般的です.equalメソッド、==の使用方法です.
直接二重引用符で宣言された 二重引用符で宣言する 入れます.
String s = new String("1"); s.intern(); String s2 = "1"; System.out.println(s == s2);//false String s = new String("1") + new String("1"); s = s.intern(); System.out.println(s.intern()); String s2 = "11"; System.out.println(s == s2);//true
String s3 = new String("1") + new String("1"); s3.intern(); String s4 = "11"; System.out.println(s3 == s4); //false
質問:String s 3=new String("1")+new String("1");
全部でいくつのオブジェクトが作成されましたか.どれですか.上の間違いを指摘することを歓迎します.
|---------------整型
|-----byte
|-----short
|-----int
|-----long
|---------浮動小数点型
|-----float
|-----double
|---------文字
|-----char
|---------ブール
|-----boolean
注目すべきはnullキーワードであり、Objectには属しておらず、参照データ型に値が割り当てられていないことを示しています.
例:String name;
System.out.println(name);//コンパイルエラー、nameは割り当てられていません
String name = new String();
System.out.println(name);//nameは「」空の文字列です!
class Temp{
String name;
}
System.out.println(new Temp().name);//出力null
要約:nullは、参照データ型が値を割り当てていないことを示します.
2. Javaは、実行時の速度を速め、メモリを節約するために、8つのデータ型とStringに定数プールを提供しています.システムレベルのキャッシュのように、面接時に文字列定数プールとnewオブジェクトの違いを尋ねるのが一般的です.equalメソッド、==の使用方法です.
String
オブジェクトは、定数プールに直接保存されます.String
オブジェクトでない場合は、String
で提供されるintern
メソッドを使用します.internメソッドは、文字列定数プールから現在の文字列が存在するかどうかを問い合せ、存在しない場合は現在の文字列を定数プールにString s = new String("1"); s.intern(); String s2 = "1"; System.out.println(s == s2);//false String s = new String("1") + new String("1"); s = s.intern(); System.out.println(s.intern()); String s2 = "11"; System.out.println(s == s2);//true
String s3 = new String("1") + new String("1"); s3.intern(); String s4 = "11"; System.out.println(s3 == s4); //false
質問:String s 3=new String("1")+new String("1");
全部でいくつのオブジェクトが作成されましたか.どれですか.上の間違いを指摘することを歓迎します.