プログラミング初心者の私が実務未経験転職するにあたり、会社の研修資料以外にも本格的に自主的な勉強をするためについに始めました。今回はそのシリーズの第5段となります。第1,2,3,4段は下記から見れます。
現在使用している参考書は「オラクル認定資格教科書 JavaプログラマSilver SE11」いわゆる紫本と呼ばれる参考書です。今後は白本・黒本を活用しつつ勉強していくと思います。
オラクル認定資格教科書 JavaプログラマSilver SE11
Stringクラス
①String型はJavaにおいて、Stringクラスとして提供されている
②参照型である
③初期化されたString型の変数に、異なる文字列を再代入すると、元の文字列が書き換えられるのではなく、新しい文字列が生成され、「参照先」がそちらに変わる。
(例)String s1 = “Hello” ; s1 = “Bye” ; 【Hello】→【Bye】
StringBuilderクラス
①文字列を扱うクラス
②生成した文字列に対して、文字を追加したり置き換えたり直接操作するメソッドが多い。
③newキーワードを使用(引数には初期値となる文字列を指定)
(例)StringBuilder sb = new StringBuilder(“Ab Cd”) ;
==演算子とequals()メソッド
==演算子
「参照先」が同じかどうかの比較
equals()メソッド
文字列の比較(見た目)
以下では、例を挙げつつ具体的な説明を図解にしてみました。ここでは、Stringクラスのメソッドである「intern()メソッド」を使用しています。intern()メソッドは、文字列プールにある一意の文字列を返します。
文字列の結合
ここでも文字列の結合に関して具体例を図解で紹介します。
null比較
nullは参照型で使用されるリテラルで、何も参照していないことを表す。また、変数にnullが格納されているかどうかを比較するには、比較演算子を使う。
(例)
①String str1 = null ;
System.out.println(str1 == null) ; true
②String str2 = “□” ;
System.out.println(str2 == null) ; false
※空文字が代入されており、メモリ領域の確保が行われている
③int [] array1 = null ;
System.out.println(array1 != null) ; false
※配列の宣言だけで、領域の確保が行われていない(=null)
④int [] array2 = new int [1] ;
System.out.println(array2 != null) ; true
※領域の確保が行われている(初期値0が入っている)
今回は特に「==演算子」と「equals()メソッド」についての違いを明確に学べた事が良かったと思います。理解するために、「イメージ」として勉強していく事が改めて大事だと感じましたね。
まだまだ勉強は序盤です。今後も時間を捻出して勉強を続けていきたいと思います。