Type mismatch: cannot convert from element type Object to String 解决办法
首先放上我的源码,看看你的代码是不是我这个类似的。
1 @Test 2 void predicateTest() throws Exception { 3 List<String> languages = Arrays.asList("Java", "Scala", "C++", "Haskell", "Lisp"); 4 System.out.println("Languages which starts with J :"); 5 filter(languages, (str) -> ((String) str).startsWith("J")); 6 System.out.println("Languages which ends with a "); 7 filter(languages, (str) -> ((String) str).endsWith("a")); 8 System.out.println("Print all languages :"); 9 filter(languages, (str) -> true); 10 System.out.println("Print no language : "); 11 filter(languages, (str) -> false); 12 System.out.println("Print language whose length greater than 4:"); 13 filter(languages, (str) -> ((String) str).length() > 4); 14 } 15 16 public static void filter(List names, Predicate condition) { 17 for (String name : names) { 18 if (condition.test(name)) { 19 System.out.println(name + " "); 20 } 21 } 22 }
存在问题截图
解决办法