「アミーゴ、どう思いますか? int の次に最も人気のある Java クラスは何ですか?」
「エリー、レッスンのタイトルですでにネタバレしてしまいましたね。それはString
!」
「確かに、ネタバレです。」はString
あらゆるところで使われています。知っておくとよい便利な方法がたくさんあります。
「このString
クラスは、ステートメント内でリテラルを使用できるプリミティブ型以外の唯一のクラスですswitch
。コンパイラは文字列の追加と String オブジェクトを特別な方法で処理します。String
オブジェクトは特別な方法でメモリに保存されます。基本的に、このString
クラスは非常に高度なクラスです。特別クラス。
「また、このString
クラスには、Java での文字列の操作をさらに簡略化することを目的とした多数のヘルパー クラスがあります。これをすべて学ぶと、多くのことが実際にはるかに簡単になります。」
"待ってられない。"
「それでは、このエコシステムのまさに中核であるクラスの構成から始めますString
。クラスの構造は実際には非常に単純です。クラスの内部には、文字列のすべての文字を格納する文字配列(配列)String
があります。たとえば、「Hello」という単語は次のように保存されます。char

それは重要です。
実際には、これはあまり正確ではありません。このクラスは非常に重要であるためString
、多くの最適化が使用され、データは文字配列としてではなく、単純なバイト配列として内部的に保存されます。
Stringクラスのメソッド
このString
クラスには多くのメソッドがあり、コンストラクターだけでも 18 個あります。したがって、以下に最も頻繁に使用されるものだけをリストします。
メソッド | 説明 |
---|---|
|
文字列内の文字数を返します。 |
|
文字列が空の文字列かどうかを確認します |
|
文字列に空白文字 (スペース、タブ、改行など) のみが含まれていることを確認します。 |
|
文字列内のインデックス位置にある文字を返します。 |
|
文字列を構成する文字の配列 (コピー) を返します。 |
|
文字列をバイトのセットに変換し、バイトの配列を返します。 |
|
文字列を複数の部分文字列に分割します。 |
|
複数の部分文字列を結合します |
|
文字列を文字列プールに入れます。 |
「とても良さそうですよ!」
「ファイル パスを Unix 形式から Windows 形式に変換するプログラムを作成しましょう。Unix では/
フォルダを区切るために文字が使用されますが、Windows では\
文字が使用されます。
解決策 1.char
配列を使用する
コード | ノート |
---|---|
|
Scanner オブジェクトを作成します。 コンソールから行を読み取ります 。 文字列を文字配列に変換します。 文字をループします。 文字が の場合は、 に置き換えます。逃げることも忘れずに。 文字配列に基づいて新しい文字列を作成します。 文字列を表示します。 / \ |
解決策 2.split()
およびメソッドを使用するjoin()
:
コード | ノート |
---|---|
|
Scanner オブジェクトを作成します。 コンソールから 1 行を読み取ります。 文字列を文字列の配列 に変換します。この文字は区切り文字として使用されます (余分な 2 つのスラッシュは二重エスケープの結果です)。文字列の配列 内のすべての文字列を連結します。は区切り文字として使用されます (エスケープされていることがわかります)。 文字列を表示します。 / \ |
解決策 3.次の方法を使用しますreplace(char oldChar, char newChar)
。
コード | ノート |
---|---|
|
Scanner オブジェクトを作成します。 コンソールから行を読み取ります。 1 つの文字を別の文字に置き換えるだけです (2 番目の文字はエスケープされます)。 文字列を表示します。 |
「私は 3 番目の解決策が最も気に入りました。しかし、3 つすべてを練習してみます。」
「よくやった、アミーゴ。君はすでに新しい知識を実践したくて待ちきれないようだ。レッスンは終わった。」
GO TO FULL VERSION