Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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_Hystrix_Fallback - Fatal编程技术网

java支持泛型方法支持所有类型的参数输入吗?

java支持泛型方法支持所有类型的参数输入吗?,java,generics,hystrix,fallback,Java,Generics,Hystrix,Fallback,我想为hystrix默认回退方法编写一些方法,例如: //declaration public void voidDefaultFallback(generic argument list) { return; } public int intDefaultFallback(generic argument list) { return 0; } public Object nullDefaultFallback(generic argument list) { re

我想为hystrix默认回退方法编写一些方法,例如:

//declaration
public void voidDefaultFallback(generic argument list) {
    return;
}

public int intDefaultFallback(generic argument list) {
    return 0;
}

public Object nullDefaultFallback(generic argument list) {
    return null;
}
//invocation
nullDefaultFallback("a", "b");
nullDefaultFallback("a", 0);
nullDefaultFallback("a", 0, "abc");
public void m(K...) {...}
public int m(K...) {...}
public void m(K){...}
public int m(K, K) {...}

java支持这种通用方法吗

是的,您可以在方法中使用此参数来实现这一点

public void method (Object ... objects){
        for(Object obj : objects){
            //do stuff
        }
    }

它被称为varargs,您可以找到更多信息是的,您可以在方法中使用此参数来实现

public void method (Object ... objects){
        for(Object obj : objects){
            //do stuff
        }
    }
它叫varargs,你可以找到更多你可以随时使用的信息

nullDefaultFallback(Object...args);
你可以随时使用

nullDefaultFallback(Object...args);

对于具有相同方法名称的不同返回类型,需要指定不同的方法签名。例如:

//declaration
public void voidDefaultFallback(generic argument list) {
    return;
}

public int intDefaultFallback(generic argument list) {
    return 0;
}

public Object nullDefaultFallback(generic argument list) {
    return null;
}
//invocation
nullDefaultFallback("a", "b");
nullDefaultFallback("a", 0);
nullDefaultFallback("a", 0, "abc");
public void m(K...) {...}
public int m(K...) {...}
public void m(K){...}
public int m(K, K) {...}
不是有效案例,但是,例如:

//declaration
public void voidDefaultFallback(generic argument list) {
    return;
}

public int intDefaultFallback(generic argument list) {
    return 0;
}

public Object nullDefaultFallback(generic argument list) {
    return null;
}
//invocation
nullDefaultFallback("a", "b");
nullDefaultFallback("a", 0);
nullDefaultFallback("a", 0, "abc");
public void m(K...) {...}
public int m(K...) {...}
public void m(K){...}
public int m(K, K) {...}

对于方法名称相同的不同返回类型,您需要指定不同的方法签名。例如:

//declaration
public void voidDefaultFallback(generic argument list) {
    return;
}

public int intDefaultFallback(generic argument list) {
    return 0;
}

public Object nullDefaultFallback(generic argument list) {
    return null;
}
//invocation
nullDefaultFallback("a", "b");
nullDefaultFallback("a", 0);
nullDefaultFallback("a", 0, "abc");
public void m(K...) {...}
public int m(K...) {...}
public void m(K){...}
public int m(K, K) {...}
不是有效案例,但是,例如:

//declaration
public void voidDefaultFallback(generic argument list) {
    return;
}

public int intDefaultFallback(generic argument list) {
    return 0;
}

public Object nullDefaultFallback(generic argument list) {
    return null;
}
//invocation
nullDefaultFallback("a", "b");
nullDefaultFallback("a", 0);
nullDefaultFallback("a", 0, "abc");
public void m(K...) {...}
public int m(K...) {...}
public void m(K){...}
public int m(K, K) {...}

将很好地工作

我不清楚您所说的
通用参数列表
的确切含义。您的示例可以用几种方式描述:
K,V..
K..
传递参数列表对象可能与您的方法重复我不清楚您所说的
通用参数列表的确切含义。您的示例可以通过几种方式进行描述:
K,V..
K..
您的方法可能会重复传递参数列表对象