contains()方法在java中不适用于Arrays.asList
我有一个字符串对象,看起来像:contains()方法在java中不适用于Arrays.asList,java,string,list,arraylist,collections,Java,String,List,Arraylist,Collections,我有一个字符串对象,看起来像: String color = "black, pink, blue, yellow"; 现在我想把它转换成一个数组并找到一种颜色。大概是这样的: boolean check = Arrays.asList(color).contains("pink"); List<String> arrList = Arrays.asList(color.split(", ")); 这总是给人错误的印象 有人能帮我吗?您需要拆分()字符串尝试以下代码片段: bo
String color = "black, pink, blue, yellow";
现在我想把它转换成一个数组并找到一种颜色。大概是这样的:
boolean check = Arrays.asList(color).contains("pink");
List<String> arrList = Arrays.asList(color.split(", "));
这总是给人错误的印象
有人能帮我吗?您需要拆分()字符串尝试以下代码片段:
boolean check = Arrays.asList("black", "pink", "blue", "yellow").contains("pink");
我不建议使用字符串来存储多个值。您的颜色变量是字符串。转换为列表时,它将作为单个字符串插入。您可以检查以下内容的输出 Arrays.asList(color.size)() 上面的结果总是返回1,表示您理解带有逗号的字符串不会自动拆分并转换为列表 您可以在每个“处拆分,后面跟一个空格,如下图所示,以获得预期的输出 System.out.println(Arrays.asList(color.split(“,”))。包含(“粉色”)
空格在拆分中很重要,因为字符串中包含空格。您的问题与以下事实有关:
color
是字符串,而不是数组,因此数组。asList(color)
将创建一个列表,其中只包含一个“黑色、粉色、蓝色、黄色”
这就是它返回false
的原因
首先需要使用as next将其转换为数组
:
如果您只想知道<代码>颜色< /代码>包含“<代码>粉红< /代码>”,您也可以考虑使用
字符串变量color
不是数组,因此首先需要使用split(string dilemeter)
方法从该字符串变量创建数组,并从拆分的字符串创建ArrayList
,如下所示:
boolean check = Arrays.asList(color).contains("pink");
List<String> arrList = Arrays.asList(color.split(", "));
将颜色拆分为“,”,将其转换为arraylist并检查是否存在字符串:
String color = "black, pink, blue, yellow";
boolean isThere = Arrays.asList(color.split(",")).contains("black");
System.out.println("is black present: " + isThere);
数组中没有字符串
“粉红色”
,您是拆分内容并对其进行修剪,还是希望数组。asList(颜色)
要神奇地将原始字符串
拆分为每种颜色的逻辑数组?您需要拆分字符串,asList
不会这样做。@Teddu在上面的代码中,您不需要将颜色
字符串转换为列表
。您可以直接使用字符串
类包含like颜色。包含(“粉色”)
。但不仅仅是使用no-argssplit()
确实没有,string上没有任何no-arg split方法。但是其他split方法上的javadoc会告诉op其余的。
String color = "black, pink, blue, yellow";
boolean isThere = Arrays.asList(color.split(",")).contains("black");
System.out.println("is black present: " + isThere);