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     }

存在问题截图

解决办法

猜你喜欢

转载自www.cnblogs.com/xzk666/p/11375736.html