【发布时间】:2016-02-07 23:18:25
【问题描述】:
这两个函数在同一个类中同名不会出错,因为输入的变量类型不同。 (String 和 int)
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;
}
这是为什么? 除了选择不同的函数名和颠倒变量的顺序,有没有更专业的方法来解决这个问题,而不需要操纵我的函数名的一致性?
【问题讨论】:
标签: java function class hashmap overloading