0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Java|Stringクラスのメソッドの使い方(Ⅱ)

Last updated at Posted at 2023-11-16

文字列を扱うメソッド

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() - 文字列の順番を逆さまにして返却
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?