catch-img

JavaのStringクラスをマスターしよう。基礎から使い方解説

Javaにはさまざまなクラスがあります。その中でも文字列を扱うクラスである「String」クラスについてマスターしましょう。Stringクラスの使い方や操作方法、注意点ついて、基本を詳しく解説します。

問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら

目次[非表示]

  1. 1.JavaのStringクラスの基礎
    1. 1.1.Stringクラスとは?
    2. 1.2.Stringクラスの基本的な書き方
  2. 2.Stringクラスの基本操作
    1. 2.1.文字列の分割
    2. 2.2.文字列を結合する
    3. 2.3.空白を削除する
  3. 3.文字列を調べる方法
    1. 3.1.文字列の長さを取得する
    2. 3.2.文字列同士を比較する
    3. 3.3.文字列が空白かを調べる
  4. 4.Stringクラスを使う上で知っておきたいこと
    1. 4.1.Stringは自身の文字列を変えられない
    2. 4.2.nullと""の違い
  5. 5.Stringで文字列を自在に扱おう

JavaのStringクラスの基礎

プログラムを実行するための処理をまとめたオブジェクトのことをクラスといいます。Javaには、整数を扱うクラスや文字列を扱うクラスなどさまざまなクラスがあります。

その中でもStrringクラスについて、今回は詳しく解説します。まずはStringクラスの概要から見ていきましょう。

若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら

Stringクラスとは?

Stringクラスとは、文字列を扱うためのJavaのクラスです。文字列とは、"(ダブルクォーテーション)で囲まれた、コンパイルの際に機械語に変換されない文字のことです。"abc""あいうえお"のような表記が文字列として認識されます。

機械語に変換されないため、new演算子を使わなくてもオブジェクトを生成することが可能です。もちろん通常どおり、new演算子を使ったオブジェクト生成も行えます。

Stringクラスの基本的な書き方

Javaでクラスを扱うためには、まず変数を用意するために宣言しなければなりません。Stringクラスは、以下のように宣言します。

String st;

この「st」の部分は、変数の名前が入ります。以下のように記述することで初期化を同時に行うことも可能です。

String st="abc";

このabcの部分には、任意の文字列を入れることが可能です。

■関連記事

Stringクラスの基本操作

Stringクラスの基本的な操作について解説します。文字列の扱いの基本をマスターしましょう。

学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら

文字列の分割

文字列を分割するには「split」というメソッドを使います。分割数の上限を決ることも可能です。例えば、「,」で分割されているCSVファイルの文字列を分割するためなどに使われます。

split(区切る文字 [,分割の上限数])

具体的には、以下のように記述します。

String str = "じゃがいも,にんじん,きゃべつ,たまねぎ";
String[] Vegetable = str.split(",", 0);

実行すると、配列には以下のように格納されます。

Vegetable[0] = "じゃがいも";
Vegetable[1] = "にんじん";
Vegetable[2] = "きゃべつ";
Vegetable[3] = "たまねぎ";

文字列を結合する

文字列を結合する方法を2種類紹介します。

一つ目は、+(プラス)の演算子を使う方法です。文字列同士を+でつなぐことで、新たな文字列を作成できます。

String nb1 = "12345";
String nb2 = "6789";
String nb3 = nb1 + nb2 ;

といったように記載します。結果は「123456789」と表示されます。

もう一つの方法は「append」というメソッドを使う方法です。引数の値を文字列に変換させて、ビルダーの末尾に追加します。

public class Main {
 public static void main(String[] args)  {
  StringBuilder sb = new StringBuilder("おはよう");
  System.out.println(sb.append("ございます"));
 }
}

上記を出力すると、文字列が結合されて表示されます。

appendクラスにはさまざまな引数の扱い方があるので、合わせて覚えておくと便利です。

空白を削除する

空白を削除するにはtrimというメソッドを使います。trimは、文字列の先頭と末尾の空白、そして制御文字を削除するメソッドです。

class Main {
 public static void main(String[] args) {
  String nb = " 12345 ";
  String st = nb.trim();
  System.out.println(st);
 }
}

上記では、文字列「 12345 」は両端に空白があります。trimを使うことで、この空白が取り除かれて表示されます。

取り除く対象は半角空白、タブ文字、改行文字です。空白が複数存在しても取り除いてくれます。

■関連記事

文字列を調べる方法

続いては、文字列の性質について調べる方法について解説します。

全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら

文字列の長さを取得する

文字列の長さを取得するには「length」というメソッドを使います。これは対象文字列の文字数をカウントしてくれる文字数です。

class Main {
 public static void main(String[] args) {
  String st1 = new String("おはようございます");
  String st2 = new String("abcdefg");
  System.out.println(st1.length());
  System.out.println(st2.length());
 }
}

上記の場合、st1は「9」、st2は「7」の値を返します。なお、文字列が半角でも全角でも、返って来る値は同じです。

文字列同士を比較する

文字列同士を比較し、同一か異なるかを比較する方法を紹介します。文字列同士を比較する場合は「equals」というメソッドを使います。

class Main {
 public static void main(String[] args) {
  String a = "123";
  String b = "12";
  b = b + "3";
  if (a.equals(b)){
   System.out.println("同一");
  }
   else{
   System.out.println("同一ではない");
  }
 }
}

上記ではaとbの文字列は異なっていますが、bの入れ物を改めて3を加えているたため、判定した場合「同一」と表示されます。

文字列が空白かを調べる

文字列が空白かどうかを調べるにはいくつかの方法があります。

一つ目は、先ほど紹介した「equals」を使う方法です。比較対象の文字列として空白を定義することで、判定対象の文字列が空白かどうかの判定が行えます。

別の方法としては「isEmpty」というメソッドを使う方法があります。このメソッドは、文字列の長さが0であった場合にtrueを返します。

String型変数.isEmpty()

というように記述します。また、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の違いについては明確に区別して、定義する必要があります。

個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)資料ダウンロードはこちら

新卒・中途未経験者を採用した
企業におすすめのエンジニア研修サービス

法人研修の実績2700名以上!中小企業~大手上場企業まで幅広く受講してます。
若手、新人エンジニア採用後の Java研修はジョブサポートお任せ下さい
短期講座(入門5日、基礎10日) Java・フロントエンド (HTML5・CSS・JavaScript) 全国の中小~大手企業まで幅広くお問い合わせ、 受講を頂く人気講座です

運営会社

株式会社ジョブサポート

Java・フロントエンド(HTML5・CSS・JavaScript)の企業研修実績2700名以上を実施。受講満足度は95%。

おすすめお役立ち資料

おすすめお役立ち資料02

関連記事

研修サービス一覧

プロエンジニア育成コース
新人エンジニア研修
短期通学講座
研修実績
よくあるご質問

ランキング

タグ一覧