Java Stringクラスのメソッド: 完全ガイド
JavaのStringクラスは、文字列操作に関する多くの有用なメソッドを提供しています。この記事では、Stringクラスの主要なメソッドを取り上げ、その使い方と実例を通じてその機能を詳しく解説します。
一般的に文字列は変更不可能(immutable)なため、Stringクラスのメソッドは新しい文字列を返すことが多いです。
1. 文字列の長さを取得: length()
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String sample = "こんにちは、世界!"; int length = sample.length(); System.out.println("文字列の長さ: " + length); } } |
出力結果 文字列の長さ: 10
このメソッドは、文字列の長さ(文字数)を返します。
length()
メソッドを使用して、文字列の長さを簡単に取得することができます。
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版
2. 文字列の特定の位置の文字を取得: charAt()
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String sample = "Javaプログラミング"; char character = sample.charAt(4); System.out.println("4番目の文字: " + character); } } |
出力結果 4番目の文字: プ
charAt()
メソッドは、指定されたインデックスの文字を返します。
文字列の最初の文字はインデックス0から始まることを忘れないでください。
3. 文字列の部分文字列を取得: substring()
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String sample = "Javaの世界へようこそ"; String substring = sample.substring(4, 7); System.out.println("部分文字列: " + substring); } } |
出力結果 部分文字列: の世界
substring()
メソッドは、指定された始点と終点の間の部分文字列を返します。
注意点として、始点のインデックスは含まれますが、終点のインデックスは含まれません。
4. 文字列を大文字・小文字に変換: toUpperCase() & toLowerCase()
ソースコード例
1 2 3 4 5 6 7 8 9 |
public class Program { public static void main(String[] args) { String sample = "JavaRocks"; String upper = sample.toUpperCase(); String lower = sample.toLowerCase(); System.out.println("大文字: " + upper); System.out.println("小文字: " + lower); } } |
出力結果 大文字: JAVAROCKS 小文字: javarocks
toUpperCase()
およびtoLowerCase()
メソッドは、それぞれ文字列を大文字および小文字に変換します。
これらのメソッドは特に文字列の標準化に役立ちます。
5. 文字列の比較: equals() & compareTo()
ソースコード例
1 2 3 4 5 6 7 8 9 10 |
public class Program { public static void main(String[] args) { String str1 = "Java"; String str2 = "java"; boolean isEqual = str1.equals(str2); int comparison = str1.compareTo(str2); System.out.println("文字列が等しいか: " + isEqual); System.out.println("文字列の比較結果: " + comparison); } } |
出力結果 文字列が等しいか: false 文字列の比較結果: -32
equals()
メソッドは、2つの文字列が等しいかどうかを判断します。
一方、compareTo()
メソッドは、文字列を辞書順で比較し、等しい場合は0、呼び出し元の文字列が小さい場合は負、大きい場合は正の値を返します。
6. 文字列のトリム: trim()
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String sample = " Java "; String trimmed = sample.trim(); System.out.println("トリム後の文字列: '" + trimmed + "'"); } } |
出力結果 トリム後の文字列: 'Java'
trim()
メソッドは、文字列の先頭と末尾の空白を削除します。
これは、ユーザー入力を処理する際に特に役立ちます。
7. 文字列の連結: concat()
concat()
メソッドは、指定された文字列をこの文字列の終わりに連結します。
ソースコード例
1 2 3 4 5 6 7 8 |
public class Program { public static void main(String[] args) { String str1 = "Hello, "; String str2 = "World!"; String concatenated = str1.concat(str2); System.out.println(concatenated); } } |
出力結果 Hello, World!
8. 文字列の置換: replace()
replace()
メソッドは、文字列中のある文字(もしくは文字列)を別の文字(もしくは文字列)で置き換えます。
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String original = "I like apples, apples are tasty."; String replaced = original.replace("apples", "oranges"); System.out.println(replaced); } } |
出力結果 I like oranges, oranges are tasty.
9. 文字列を配列に分割: split()
split()
メソッドは、指定された正規表現を使って文字列を分割し、分割された部分文字列からなる配列を返します。
ソースコード例
1 2 3 4 5 6 7 8 9 |
public class Program { public static void main(String[] args) { String fruits = "apple,orange,banana"; String[] array = fruits.split(","); for(String fruit : array) { System.out.println(fruit); } } } |
出力結果 apple orange banana
10. 文字列が特定の値で始まっている/終わっているかを確認: startsWith() & endsWith()
startsWith()
およびendsWith()
メソッドは、文字列が指定の文字列で始まっている、もしくは終わっているかどうかを確認するのに使用します。
ソースコード例
1 2 3 4 5 6 7 8 9 |
public class Program { public static void main(String[] args) { String sentence = "The quick brown fox jumps over the lazy dog."; boolean starts = sentence.startsWith("The"); boolean ends = sentence.endsWith("dog."); System.out.println("Starts with 'The': " + starts); System.out.println("Ends with 'dog.': " + ends); } } |
出力結果 Starts with 'The': true Ends with 'dog.': true
11. 文字列の比較: equals() と equalsIgnoreCase()
equals()
メソッドは、2つの文字列が等しいかどうかを確認し、equalsIgnoreCase()
メソッドは大文字と小文字の違いを無視して2つの文字列を比較します。
ソースコード例
1 2 3 4 5 6 7 8 |
public class Program { public static void main(String[] args) { String str1 = "Hello"; String str2 = "hello"; System.out.println("Equals: " + str1.equals(str2)); System.out.println("Equals Ignore Case: " + str1.equalsIgnoreCase(str2)); } } |
出力結果 Equals: false Equals Ignore Case: true
12. 特定の文字でジョイン: join()
join()
メソッドは、指定されたデリミタを使用して、指定された要素をジョイン(結合)します。これは、文字列の配列を一つの文字列に結合するのに便利です。
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String[] words = {"Java", "is", "cool"}; String sentence = String.join(" ", words); System.out.println(sentence); } } |
出力結果 Java is cool
13. 文字列を値としてフォーマット: format()
format()
メソッドは、フォーマット文字列と引数を使用して、文字列を生成します。printfメソッドと同様の書式を使用することができます。
ソースコード例
1 2 3 4 5 6 |
public class Program { public static void main(String[] args) { String formatted = String.format("My name is %s and I am %d years old.", "John", 30); System.out.println(formatted); } } |
出力結果 My name is John and I am 30 years old.
14. 文字列の置換: replace(), replaceFirst(), replaceAll()
これらのメソッドは文字列内の特定の文字や文字列を置換するために使用されます。
ソースコード例
1 2 3 4 5 6 7 8 |
public class Program { public static void main(String[] args) { String str = "apple, banana, apple"; System.out.println(str.replace("apple", "orange")); System.out.println(str.replaceFirst("apple", "orange")); System.out.println(str.replaceAll("apple", "orange")); } } |
出力結果 orange, banana, orange orange, banana, apple orange, banana, orange
こんにちは、Javaプログラミングを学びたい皆さん!
今回は、日常的に利用されるJava Stringクラスの中で、まだご紹介していない便利なメソッドをいくつかピックアップして、その使用方法とサンプルコードをご紹介します。
15.指定した文字の最初の位置を探す: indexOf()
indexOf(int ch)
メソッドを使用すると、指定した文字(または部分文字列)が初めて出現するインデックス位置を返します。
特定の文字や文字列がどこで初めて現れるのかを調べる際に非常に便利ですよ。
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String str = "Programming is fun!"; int index = str.indexOf('g'); System.out.println("The first occurrence of 'g' is at index: " + index); } } |
出力結果 The first occurrence of 'g' is at index: 3
16.指定した文字の最後の位置を探す: lastIndexOf()
lastIndexOf(int ch)
メソッドは、文字列中で指定した文字(または部分文字列)が最後に出現するインデックス位置を返します。
あるキーワードが最後に出現する位置を知りたいときに使いますね。
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { String str = "Programming is fun!"; int index = str.lastIndexOf('g'); System.out.println("The last occurrence of 'g' is at index: " + index); } } |
出力結果 The last occurrence of 'g' is at index: 10
上記の例では、最初と最後に現れる特定の文字の位置を検索しています。Stringクラスは、これ以外にも多くの便利なメソッドを提供しています。これらを上手く組み合わせることで、複雑な文字列操作を簡単に行うことができます。
まとめ
JavaのStringクラスは、文字列操作において非常に多くの有用なメソッドを提供しています。これらのメソッドを利用することで、文字列の加工や比較、情報の取得など、多岐にわたる操作を行うことができます。
適切なメソッドを使いこなすことで、プログラミング時の作業効率を大きく向上させることが可能です。