JAva面接資料整理
4593 ワード
お気に入りはコレクションできますが、その後も更新が続きます.
2020/4/22コードは次の です.
これはコンパイルできますか?もちろんだめです.cはcharタイプなので、intに変換できますが、intはcharに変換できません.少し覚えておけばいいです.小範囲は大範囲に回転でき、低精度は高精度に回転できますが、大範囲は小範囲に回転するとコンパイルエラーが発生しますが、強回転で解決できます.
2.コードは以下の通り
上の2つのコードの実行結果はtrueですか、falseですか. Stringはfinal修飾であるため、Stringは定数プールという概念があるため、aとbは同じメモリを指す.だからtrueを返します.しかし、第2セグメントのコードはnewキーワードを使用するため、スタックメモリに空間を再開するのでfalseの値になります.
3.Stringはなぜfinalで修飾するのか.(前に見たことがありますが、直接見たことがあります.顔が届くはずがないと思ったので、顔がぼんやりしているまで聞かれました) Stringはfinal修飾で各文字列のhashcodeを一意に実現することができる. String final修飾により、スタックメモリ を節約するための定数プールを実現することができる.は、マルチスレッドに属するスレッドが で安全であるために使用することができる.
4:汎用消去(汎用消去を知っているかもしれませんが、なぜ汎用消去を行うのか知っていますか) javaとc#はいずれも汎用型に対して使用されているが、javaで得られる汎用型は擬似汎用型であり、コンパイル期間のみ有効であり、具体的な効果もコンパイル期間に集合などとデータ集合をタイプ検証するために使用される.ただし、汎用型はjdk 1であることに注意する.5後に普及し、これは以前のjdkのバージョンと互換性を得るために、汎用的な消去が必要になった.
5:コードは以下の通り上の結果はtrueであり、JAVAのIntegerにはIntegerCacheが-128~127間のオブジェクトをキャッシュするため、上のnew Integer(50)はIntegerのvalueOf()メソッドを自動的に呼び出し、このメソッドで1つのIntegerオブジェクトを返すので、同じオブジェクトを返し、自然出力の値もtrueとなる.ただし、newの値がIntegerCacheキャッシュ範囲の値を超えるとfalseとなる
2020/4/22
char c ='a';
char b = c+3;
これはコンパイルできますか?
2.コードは以下の通り
String a ="abc";
String b ="abc";
System.out.println(a==b);
-----------------------------------
String a = new String("abc");
String b = new String("abc");
System.out.println(a==b);
上の2つのコードの実行結果はtrueですか、falseですか.
3.Stringはなぜfinalで修飾するのか.(前に見たことがありますが、直接見たことがあります.顔が届くはずがないと思ったので、顔がぼんやりしているまで聞かれました)
4:汎用消去(汎用消去を知っているかもしれませんが、なぜ汎用消去を行うのか知っていますか)
5:コードは以下の通り
Integer a = new Integer(50);
Integer b = new Integer(50);
System.out.println(a==b);