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     }

存在问题截图

解决办法

相关文章
相关标签/搜索