JavaのStringクラスをマスターしよう。基礎から使い方解説
Javaにはさまざまなクラスがあります。その中でも文字列を扱うクラスである「String」クラスについてマスターしましょう。Stringクラスの使い方や操作方法、注意点ついて、基本を詳しく解説します。
問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら
目次[非表示]
- 1.JavaのStringクラスの基礎
- 1.1.Stringクラスとは?
- 1.2.Stringクラスの基本的な書き方
- 2.Stringクラスの基本操作
- 3.文字列を調べる方法
- 3.1.文字列の長さを取得する
- 3.2.文字列同士を比較する
- 3.3.文字列が空白かを調べる
- 4.Stringクラスを使う上で知っておきたいこと
- 4.1.Stringは自身の文字列を変えられない
- 4.2.nullと""の違い
- 5.Stringで文字列を自在に扱おう
JavaのStringクラスの基礎
プログラムを実行するための処理をまとめたオブジェクトのことをクラスといいます。Javaには、整数を扱うクラスや文字列を扱うクラスなどさまざまなクラスがあります。
その中でもStrringクラスについて、今回は詳しく解説します。まずはStringクラスの概要から見ていきましょう。
若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら
Stringクラスとは?
Stringクラスとは、文字列を扱うためのJavaのクラスです。文字列とは、"(ダブルクォーテーション)で囲まれた、コンパイルの際に機械語に変換されない文字のことです。"abc""あいうえお"のような表記が文字列として認識されます。
機械語に変換されないため、new演算子を使わなくてもオブジェクトを生成することが可能です。もちろん通常どおり、new演算子を使ったオブジェクト生成も行えます。
Stringクラスの基本的な書き方
Javaでクラスを扱うためには、まず変数を用意するために宣言しなければなりません。Stringクラスは、以下のように宣言します。
この「st」の部分は、変数の名前が入ります。以下のように記述することで初期化を同時に行うことも可能です。
このabcの部分には、任意の文字列を入れることが可能です。
■関連記事
Stringクラスの基本操作
Stringクラスの基本的な操作について解説します。文字列の扱いの基本をマスターしましょう。
学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら
文字列の分割
文字列を分割するには「split」というメソッドを使います。分割数の上限を決ることも可能です。例えば、「,」で分割されているCSVファイルの文字列を分割するためなどに使われます。
具体的には、以下のように記述します。
実行すると、配列には以下のように格納されます。
文字列を結合する
文字列を結合する方法を2種類紹介します。
一つ目は、+(プラス)の演算子を使う方法です。文字列同士を+でつなぐことで、新たな文字列を作成できます。
といったように記載します。結果は「123456789」と表示されます。
もう一つの方法は「append」というメソッドを使う方法です。引数の値を文字列に変換させて、ビルダーの末尾に追加します。
上記を出力すると、文字列が結合されて表示されます。
appendクラスにはさまざまな引数の扱い方があるので、合わせて覚えておくと便利です。
空白を削除する
空白を削除するにはtrimというメソッドを使います。trimは、文字列の先頭と末尾の空白、そして制御文字を削除するメソッドです。
上記では、文字列「 12345 」は両端に空白があります。trimを使うことで、この空白が取り除かれて表示されます。
取り除く対象は半角空白、タブ文字、改行文字です。空白が複数存在しても取り除いてくれます。
■関連記事
文字列を調べる方法
続いては、文字列の性質について調べる方法について解説します。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら
文字列の長さを取得する
文字列の長さを取得するには「length」というメソッドを使います。これは対象文字列の文字数をカウントしてくれる文字数です。
上記の場合、st1は「9」、st2は「7」の値を返します。なお、文字列が半角でも全角でも、返って来る値は同じです。
文字列同士を比較する
文字列同士を比較し、同一か異なるかを比較する方法を紹介します。文字列同士を比較する場合は「equals」というメソッドを使います。
上記ではaとbの文字列は異なっていますが、bの入れ物を改めて3を加えているたため、判定した場合「同一」と表示されます。
文字列が空白かを調べる
文字列が空白かどうかを調べるにはいくつかの方法があります。
一つ目は、先ほど紹介した「equals」を使う方法です。比較対象の文字列として空白を定義することで、判定対象の文字列が空白かどうかの判定が行えます。
別の方法としては「isEmpty」というメソッドを使う方法があります。このメソッドは、文字列の長さが0であった場合にtrueを返します。
というように記述します。また、lengthを使うという方法もあります。lengthで文字数が0という判定結果が返ってくれば、空白と判定することができます。
■関連記事
Stringクラスを使う上で知っておきたいこと
Stringクラスを扱う上では、以下のことをあらかじめ踏まえておくようにしましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)資料ダウンロードはこちら
Stringは自身の文字列を変えられない
Stringを使うことで文字列の判定などは行えますが、文字列の内容自体を変えることはできません。これは、文字列を変更してしまうと複数のエンジニアが同期して記述するのが難しくなってしまったり、誰かにこっそり変えられてしまうことを防ぎ安全性を高めるといった狙いがあります。
Javaでは、文字列を変える場合は中身を変えたStringクラスを新しく作るしかありません。
nullと""の違い
データベースでは、nullと文字数0のStringクラスは同一のものとして扱われることもあります。しかしJavaで扱う場合、これらは明確に違うものです。
nullはStringのインスタンスをそもそも指していはいもの、文字数0のStringは、インスタンスを指しているものの文字数が0という状態です。
そのため、Javaについて他のプログラマーなどと話をする場合は、nullか空白なのか、明確に定義して話さなければ、バグの原因になることもありますので注意しましょう。
Stringで文字列を自在に扱おう
Stringクラスを扱えるようになると、文字列を自在に扱えるようになります。Webサイトの構築やシステムをJavaで作る場合に役立つので覚えておきましょう。
その際には、Stringは自身の文字列を変えられない点や、空白とnullの違いについては明確に区別して、定義する必要があります。