2
0

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 Arrays.asListでboolean[]を使ったら期待する結果が表示されなかったがBoolean[]を使ったら対処できた

Posted at

はじめに

booleanとBooleanの違いを分からずコードを書いて期待する結果を出力するのに時間がかかってしまったので備忘録を兼ねて記事にします。

問題

さっそくですが問題です。
①と②で出力結果を考えてみて下さい

	①Boolean[] Boolean_results = {true, false};

	if(Arrays.asList(Boolean_results).contains(false)) {
	    System.out.println("false - Found!");
	} else {
	    System.out.println("false - Not Found!");
	}

    ②boolean[] boolean_results = {true, false};
	
	if(Arrays.asList(boolean_results).contains(false)) {
	    System.out.println("false - Found!");
	} else {
	    System.out.println("false - Not Found!");
	}

答え

① false - Found!
② false - Not Found!

解説

Arrays.asList()メソッドは、引数として渡された配列をListオブジェクトに変換します。

しかし、Arrays.asList()メソッドは、プリミティブ型の配列を直接受け取ることができずオブジェクト配列でなければなりません。

つまり、Arrays.asList()を使用する場合、boolean[]ではなく、Boolean[]を使用する必要があります。

【プリミティブ型とは】
※プリミティブ型とは、Javaのデータ型の一つでJavaのいわゆる基本な型のことで、値型とも言う。boolean以外に、int, char, floatなどが存在します。

まとめ

配列をListに変換する際にArrays.asList()を使用する場合、プリミティブ型の配列を使用する場合は、適切なラッパークラスの配列に変換する必要がある。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?