文字列を扱うメソッド
valueOf()
- 書き方:String.valueOf(boolean b / char c / char[] c / int i / long l / float f / double b / Object o)
- 戻り値:String
value Ofメソッドは、様々なタイプの値をString型に変換してくれます。データ型が厳しく分かれているJavaでその値を扱うためにデータ型を統一することも重要なことです。このメソッドを利用すると、どのデータ型でもString型に変え、値を扱うことができるようになります。
int型の場合はStringに変換して文字列として「+」演算をしたり、オブジェクトのインスタンスの場合はStringに変換してそのインスタントのアドレス値を返すこともできます。
public class Main{
public static void main(String[] args){
int intValue=30;
char chrArrayValue[]={'H','e','l','l', 'o'};
StringValueOfExample5 objValue=new StringValueOfExample5();
String s1=String.valueOf(value);
String s2=String.valueOf(chrArrayValue);
String s3=String.valueOf(objValue);
System.out.println(s1+10); // 3010
System.out.println(s2); // Hello
System.out.println(s3); // StringValueOfExample5@2a139a55
}
}
concat()
- 書き方:str1.concat(String str2)
- 戻り値:String
concat()メソッドは、文字列(str1)の後に引数で指定した文字列(str2)を繋げます。単語「concatenate」が「連結、連続、連鎖」という意味であることで、メソッドの役割を簡単に思いつけると思います。
public class Main{
public static void main(String[] args){
String firstName = "Happy ";
String lastName = "Birthday";
System.out.println(firstName.concat(lastName)); // Happy Birthday
}
}
contains()
- 書き方:str.contains(Char chars)
- 戻り値:boolean
containsメソッドは、引数で指定する文字が文字列に含まれるかどうかをチェックします。含まれる場合はtrueを、含まれない場合はfalseを返す単純なメソッドです。
public class Main{
public static void main(String[] args){
String myStr = "Hello";
System.out.println(myStr.contains("Hel")); // true
System.out.println(myStr.contains("e")); // true
System.out.println(myStr.contains("Hi")); // false
}
}
equals()
- 書き方:str1.equals(str2)
- 戻り値:boolean
equalsメソッドは2つの文字列を比較し、2つの値が一致すればtrueを、一致しなければfalseを返します。 if節を使ってif(str1===str2){~~}
と書くことがありましたが、「文字列」の一致/不一致を比較する場合はequals()メソッドを使うのが正確だそうです。
public class Main{
public static void main(String[] args){
String myStr1 = "Hello";
String myStr2 = "Hello";
String myStr3 = "World";
System.out.println(myStr1.equals(myStr2)); // true
System.out.println(myStr1.equals(myStr3)); // false
}
}
reverse()
- 書き方:str.reverse()
- 戻り値:StringBuilder object
reverseメソッドは、文字列の順番を逆さまにした値を返します。これはインスタンス値を変更できない(immutable)Stringクラスではなく、インスタンス値を変更できる(mutable)StringBuilderクラスが持っているメソッドです。String型として返却したい場合は、toString()メソッドを使用します。
public class Main{
public static void main(String[] args){
String input = "Have a nice day";
StringBuilder myStr = new StringBuilder();
myStr.append(input);
myStr.reverse();
System.out.println(myStr.toString()); // yad ecin a evaH
}
}
まとめ
- valueOf() - 任意のデータ型をString型に変換
- concat() - 文字列と文字列を接続
- contains() - 文字列に含まれる文字か判断
- equals() - 文字列値の一致/不一致判断
- reverse() - 文字列の順番を逆さまにして返却