Tag: overload resolution

Java 8generics函数应该是不明确的,但在运行时失败

我正在尝试将Java 7代码迁移到Java 8,所以我的代码类似于: package tests; import java.util.Arrays; import java.util.Map; public class Tests { private static interface ComparableMap extends Map, Comparable {} public static void main(String[] args) { func(getString()); } private static void func(Comparable…input){ System.out.println(Arrays.toString(input)); } private static void func(ComparableMap m){ System.out.println(m); } private static T getString(){ return (T) “aaa”; } } 在java 7中它正常工作,在java 8中我得到: java.lang.ClassCastException:java.lang.String无法强制转换为tests.Tests […]