2016-02-07 64 views
1

这两个名称相同的类中的函数不会导致错误,因为输入变量类型是不同的。 (Stringint具有不同类型HashMap输入变量的Java相同函数名?

public static int sameName(HashMap<Integer, String> _map, String _var) { 
    return 42; 
} 

public static int sameName(HashMap<Integer, String> _map, int _var) { 
    return 42; 
} 

在这种情况下,可变类型也不同,仍然这将导致错误。第一个使用HashMap<Integer, String>,第二个使用HashMap<Integer, Integer>

public static int sameName(HashMap<Integer, String> _map, int _var) { 
    return 42; 
} 

public static int sameName(HashMap<Integer, Integer> _map, int _var) { 
    return 42; 
} 

这是为什么? 除了选择一个不同的函数名称和翻转变量的顺序,还有没有更多的专业方法来解决这个问题,而不是操纵我的函数名称的一致性?如果真的方法是做两回事

int sameName(HashMap, int) 

更改“sameName”更有意义:

回答

3

泛型编译后删除,因此,这两种方法的签名是公正的。

+0

谢谢。他们对不同的数据类型做同样的事情。 (按值查找。) –

相关问题