はじめに
Java SE 8 Silver の試験勉強をしているがその際に学んだことをまとめようと思います。
今回はStringクラスのさまざまなメソッドについて整理していきます。
(文字列操作の記事が多いことを反省、、、汗)
メソッドの種類
試験に出てくる主要なメソッドについてまとめてみました。
メソッド名 | 説明 |
---|---|
char charAt(int i) | iの位置にある文字を返す。 |
String concat(String str) | 文字列を追加する |
boolean endsWith(String suffix) | 文字列が指定した文字列で終わっていればtrueを返し、異なればfalseを返す。 |
boolean equalsIgnoreCase(String str) | 文字列を比較する。大文字小文字を区別することなく。 |
int indexOf(int ch) | 実引数に入れた値が最初に出てくる位置を返す。 |
int lastIndexOf(int ch) | 実引数に入れた値が最後に出てくる位置を返す。 |
int length() | 文字列の文字数を返す。 |
String replace(char o, char n) | 文字列中にある文字oを文字nに置換した結果の文字列を返す。 |
boolean startsWith(String prefix) | 文字列が実引数に入れた値から始まっていればtrueを返す。 |
String substring(int i) | 0 ~ 実引数に入れた値までの部分文字列を返す。(始点を指定できる。) |
String toLowerCase() | 大文字を小文字に変換する |
String toUpperCase() | 小文字を大文字に変換する |
String toString() | オブジェクトが保持する文字列を返す。 |
String trim() | 空白を除去する。(ただし全角のスペース記号は除去しない) |
動作確認
私自身が理解に苦しんだメソッドについて掘り下げていきます。
・substring()メソッド
文字列を抽出するメソッドについてですが、範囲の指定の仕方を気をつけないと思い通りの出力になりません。
下記がサンプルコードです。
public class Main {
public static void main(String[] args) {
String str = "ぶたキムチがありました";
//解説①
System.out.println(str.substring(0, 5));
}
}
出力結果
ぶたキムチ
解析①
"ぶたキムチ" だけを取り出していますが取り出す際は1文字目の前に0があることに
注意をしてください。 0〜5の範囲を示すことで取り出すことができます。
ぶ た キ ム チ が あ り ま し た
↑ ↑ ↑ ↑ ↑ ↑ . . . .
0 1 2 3 4 5
あと整理しておきたいのがtrim()メソッドです。
・trim()メソッド
文字列の前後の空白を除去するメソッドとなっております。
そのほか¥tといったタブ文字や、¥nまたは¥r、改行も除去します。
注意が全角スペースは取り除かないのと、文字列内の空白は除去しないので気をつけましょう。
試験を受けるにあたって
Java Silverの問題を解いていてわかるのがひっかけ問題が多いです。
せっかくStringクラスの便利なメソッドを呼び出し、値を取り出したのに
代入していないので出力はメソッドを呼び出す前と変わらないといった意地悪な問題が多いです。
ですので試験を受ける際には余裕を持って挑みたいです。