catch-img

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

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

目次[非表示]

  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クラスの概要から見ていきましょう。

Stringクラスとは?

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

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

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

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

String st;

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

String st="abc";

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

■関連記事

  Javaにおけるクラスとは。用語の意味や書き方を初心者向けに紹介 | Java・フロントエンド研修のジョブサポート Javaの学習において、オブジェクト指向を学び始めるとクラスの役割についても使い分ける必要が出てきます。クラスの意味や書き方について、初心者向けに解説します。クラスについて、理解を深めていきましょう。 Java・フロントエンド研修のジョブサポート

通年開講プロエンジニアコース(Java研修1~3ヶ月)-株式会社ジョブサポート

Stringクラスの基本操作

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

文字列の分割

文字列を分割するには「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を使うことで、この空白が取り除かれて表示されます。

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

■関連記事

  Javaが難しい理由とは。学習方法や注意点をあわせて解説 | Java・フロントエンド研修のジョブサポート Javaはプログラミング言語の中でも習得が難しく、挫折してしまう人が少なくありません。Javaを習得するためにも、Javaの学習が難しい原因と、それでもJavaが人気である理由を知っておきましょう。学習方法や注意点についても解説します。 Java・フロントエンド研修のジョブサポート

オンライン・リモート講座(入門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という判定結果が返ってくれば、空白と判定することができます。

■関連記事

  Javaの勉強方法は目的で選ぶ。WEBサービス・書籍・研修の特徴 | Java・フロントエンド研修のジョブサポート Javaエンジニアの育成が必要となっても、社内で教育に関するリソースがない場合、システム開発や人事の担当者は方法を巡って頭を悩ませることも多いでしょう。WEBサービス・書籍・研修など、自社で提案できる新人向けの最適な勉強方法を紹介します。 Java・フロントエンド研修のジョブサポート

フロントエンド講座(HTML・CSS・JavaScript)入門5日ー株式会社ジョブサポート

Stringクラスを使う上で知っておきたいこと

Stringクラスを扱う上では、以下のことをあらかじめ踏まえておくようにしましょう。

Stringは自身の文字列を変えられない

Stringを使うことで文字列の判定などは行えますが、文字列の内容自体を変えることはできません。これは、文字列を変更してしまうと複数のエンジニアが同期して記述するのが難しくなってしまったり、誰かにこっそり変えられてしまうことを防ぎ安全性を高めるといった狙いがあります。

Javaでは、文字列を変える場合は中身を変えたStringクラスを新しく作るしかありません。

nullと""の違い

データベースでは、nullと文字数0のStringクラスは同一のものとして扱われることもあります。しかしJavaで扱う場合、これらは明確に違うものです。

nullはStringのインスタンスをそもそも指していはいもの、文字数0のStringは、インスタンスを指しているものの文字数が0という状態です。

そのため、Javaについて他のプログラマーなどと話をする場合は、nullか空白なのか、明確に定義して話さなければ、バグの原因になることもありますので注意しましょう。

  Java入門5日・基礎10日通学講座-Java・フロントエンド研修のジョブサポート Java入門5日、基礎10日講座は通学・オンラインが選択できJavaの基礎力強化に力を入れている講座です。スキルチェンジでJavaを学びたい方、未経験者、待機者にJavaの基礎を習得させたい企業様向けの短期講座になります。 Java・フロントエンド研修のジョブサポート


Stringで文字列を自在に扱おう

Stringクラスを扱えるようになると、文字列を自在に扱えるようになります。Webサイトの構築やシステムをJavaで作る場合に役立つので覚えておきましょう。

その際には、Stringは自身の文字列を変えられない点や、空白とnullの違いについては明確に区別して、定義する必要があります。

メールマガジンの購読設定

ジョブサポートの最新情報をお届けするほか、

人事、採用教育担当者、若手エンジニア向けに

役立つ情報をお届けします。

アップロードしています。少々お待ちください。