Java试图使用泛型和其他方法进行重载

时间:2016-07-01 04:16:03

标签: java

是否返回更具体的类型?这是否意味着它通常会尝试引用不是通用的方法,并且只有在找不到任何内容的情况下它才会调用泛型。

public class Test {


   public static boolean bar(String input){
       return false;
   }

   public static < E > boolean bar(E input){
       return true;
   }



}

public class hi extends Test{

    public static void main(String[] args){
        boolean result = bar("Hi");
        System.out.println(result);
    }
}

1 个答案:

答案 0 :(得分:3)

由于类型擦除,第二个重载被编译为public static boolean bar(Object input)。因此,为String选择了更具体的bar("Hi")重载。