对于查找一个字符串是否在String类型的数组中,我们通常可以使用Arrays.asList(数组名).contains(值) 方法,具体如下:
代码:
String[] arr1 = {"sing","dance","rap"};
boolean isContains1 = Arrays.asList(arr1).contains("rap");
boolean isContains2 = Arrays.asList(arr1).contains("basketball");
System.out.println(isContains1);
System.out.println(isContains2);
结果:
true
false
而对于int类型的元素a而言,如果直接把a放到"值"的位置,Arrays.asList(数组名).contains(值) 方法不适用,几乎每次结果都是false,那么应当如何判断呢?
笔者以为,可以将int类型的元素a转换成String类型,之后再调用这个方法进行判断,经过验证,该方法可行,具体如下:
方法1:
Integer.toString(a)作用:将int类型的数据转换为String类型;
String[] arr2 = {"1","2","halo"};
int a = 1;
int b = 3;
boolean isContains1 = Arrays.asList(arr2).contains(Integer.toString(b));
boolean isContains2 = Arrays.asList(arr2).contains(Integer.toString(b));
System.out.println(isContains1);
System.out.println(isContains2);
结果:
true
false
方法2:在使用Arrays.asList(数组名).contains(值)方法时,使用字符串拼接,如:Arrays.asList(arr2).contains(""+a+"")
boolean isContains1 = Arrays.asList(arr2).contains(""+a+"");
经验证,结果仍为:
true
false