Javaに関する様々な情報をご紹介します。

3Stringのメソッド

Javaに関する様々な情報をご紹介します。

Stringのメソッド

このページでは数多くあるStringクラスのメソッドの内、そのいくつかを例題を使って説明します。

メソッド

戻り型 メソッド 説明
int length( ) オブジェクトの保有する文字数を返します。
char charAt(int) 指定されたインデックス番号の位置にある文字を返します。
String
String
substring(int)
substring(int, int)
指定されたインデックス番号の位置から終端までの文字列を返します。第2引数が指定されている場合は、第1引数から第2引数までの文字列を返します。
int
int
indexOf(String)
lastIndexOf(String)
indexOfでは指定された文字列の最初の出現のインデックス番号を返します。lastIndexOfでは指定された文字列の最後の出現のインデックス番号を返します。
boolean
boolean
boolean
endsWith(String)
startsWith(String)
startsWith(String, int)
呼び出したStringオブジェクトの文字列が引数で指定した文字列で終わって(始まって)いればtrueをかえします。第2引数がある場合は、それはStringオブジェクトの文字列の探索を開始する開始点(オフセット)を意味します。
int
int
compareTo(String)
compareTo(Object)
呼び出すStringオブジェクトの文字列と引数の値を比較し、等しい場合は0を、Stringオブジェクトの方が大きい場合は正の整数を、小さい場合は負の整数を返します。引数がオブジェクト型の場合はString型に変換され、比較されます。
boolean equals(Object) 呼び出すStringオブジェクトと引数の値を比較し、等しい場合はtrueを返します。
String concat(String) 呼び出すStringオブジェクトの末尾に引数の文字列を付け加えます。
String replace(char, char) 第1引数で指定された文字を、第2引数で指定された文字に置き換えます。
String trim( ) 呼び出すStringオブジェクトの両端の空白文字を削除します。
String
String
toLowerCase( )
toUpperCase( )
呼び出すStringオブジェクトを小文字(大文字)に変換します。

Stringクラスではインデックス番号を指定して振る舞いを行うメソッドが多数用意されています。インデックス番号とはStringオブジェクト内の文字の位置を示すものです。インデックス番号は0から始まり総文字列数-1まであります。

Stringのインデックス番号

【例1】indexOfメソッドを使用し、キーワード「index」が含まれるindex番号を取得し、逆にsubstringメソッドを使用し、取得したindex番号を指定してキーワード「index」を表示させることができるかを検証するプログラム

public class ExString3 {
    public static void main(String[] args) {
        String aaa = "This is an index.";   //(1)
        int point = aaa.indexOf("index");   //(2)
        String answerIndex = aaa.substring(point);   //(3)
        System.out.println(answerIndex);   //(4)
    }
}

解説1

  1. (1)Stringオブジェクトaaaの生成を行います。
  2. (2)indexOfメソッドを使用して、aaaオブジェクト中のキーワード「index」が出現するインデックス番号を変数pointに代入します。
  3. (3)substringメソッドの引数に変数pointを指定し、変数pointで指定されたインデックス番号以降の文字列を変数answerIndexに代入します。
  4. (4)printlnメソッドで変数answerIndexに代入された文字列の表示を行います。

実行結果1

D:\JAVA>javac ExString3.java

D:\JAVA>java ExString3
index.

D:\JAVA>

concatメソッド、replaceメソッドなどStringクラスにはStringオブジェクトの文字列を変更する多くの便利なメソッドが用意されています。しかしこれらはStringオブジェクトそのものを変更すると言うのではありません。なぜならStringオブジェクトは一度値が代入されるとその値を変更することができないためです。concat、replaceなどStringオブジェクトを変更するかのように見えるメソッドを使用した場合は、変更された新たなStringオブジェクトが生成されると言うことになります。

【例2】concatメソッドを使用し、キーワード「Hanshin」とキーワード「Tigers」を連携させるプログラムです。

public class ExString4 {
    public static void main(String[] args) {
        String firstHalf = "Hanshin";   //(1)
        String latterHalf = "Tigers";   //(2)
        // 両キーワードをconcatメソッドで連結
        System.out.println(firstHalf.concat(latterHalf));   //(3)
    }
}

解説2

  1. (1)キーワード「Hanshin」を代入したオブジェクトfirstHalfを生成します。
  2. (2)キーワード「Tigers」を代入したオブジェクトlatterHalfを生成します。
  3. (3)concatメソッドを使用し、両オブジェクトを連結し、その内容をprintlnメソッドで表示します。

実行結果2

D:\JAVA>javac ExString4.java

D:\JAVA>java ExString4
HanshinTigers

D:\JAVA>

3Stringのメソッド