Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
接受Java通用方法参数的最佳方法_Java_Generics - Fatal编程技术网

接受Java通用方法参数的最佳方法

接受Java通用方法参数的最佳方法,java,generics,Java,Generics,我需要一个方法来接受一个可以是String或int的参数。然后我需要检查它的String或int,并相应地执行一些操作 用Java实现这一点的最佳方法是什么?参数应该接受T参数还是对象参数?无论哪种方式,我想我都必须执行instanceof来获取实际类型?如果在编译时已知类型,请使用重载: public void doStuff(String s) { // ... } public void doStuff(int i) { // ... } 如果你想变得古怪,可以使用访问

我需要一个方法来接受一个可以是String或int的参数。然后我需要检查它的String或int,并相应地执行一些操作

用Java实现这一点的最佳方法是什么?参数应该接受T参数还是对象参数?无论哪种方式,我想我都必须执行instanceof来获取实际类型?

如果在编译时已知类型,请使用重载:

public void doStuff(String s) {
    // ...
}

public void doStuff(int i) {
    // ...
}

如果你想变得古怪,可以使用访问者模式。你应该阅读一些关于Java泛型的内容,你可以尝试在你的示例中使用基本类型,而不是对象。