Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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,《Java编程导论》一书说,“可以为静态方法定义泛型类型。” 为什么实例方法不能是泛型的?实例方法可以是泛型的。下面的代码是用Java5和更高版本编译的。如您所见,我以相同的方式定义了泛型实例方法和泛型静态方法 package com.company; public class Generics { public <T> T returnAGenericType(T returnThisOne) { return returnThisOne; }

《Java编程导论》一书说,“可以为静态方法定义泛型类型。” 为什么实例方法不能是泛型的?

实例方法可以是泛型的。下面的代码是用Java5和更高版本编译的。如您所见,我以相同的方式定义了泛型实例方法和泛型静态方法

package com.company;

public class Generics {
    public <T> T returnAGenericType(T returnThisOne) {
        return returnThisOne;
    }

    public static <T> T returnAGenericTypeStatic(T returnThisOne) {
        return returnThisOne;
    }
}
package.com公司;
公共类泛型{
公共T ReturnAgencyType(T returnThisOne){
把这个还给我;
}
公共静态T ReturnAgencyTypeStatic(T returnThisOne){
把这个还给我;
}
}
ArrayList::toArray
ArrayList::get
ArrayList::set
都是具有泛型类型参数的实例方法的示例。

实例方法可以是泛型的。下面的代码是用Java5和更高版本编译的。如您所见,我以相同的方式定义了泛型实例方法和泛型静态方法

package com.company;

public class Generics {
    public <T> T returnAGenericType(T returnThisOne) {
        return returnThisOne;
    }

    public static <T> T returnAGenericTypeStatic(T returnThisOne) {
        return returnThisOne;
    }
}
package.com公司;
公共类泛型{
公共T ReturnAgencyType(T returnThisOne){
把这个还给我;
}
公共静态T ReturnAgencyTypeStatic(T returnThisOne){
把这个还给我;
}
}
ArrayList::toArray
ArrayList::get
ArrayList::set
都是具有泛型类型参数的实例方法的示例。

实例方法可以是泛型的。下面的代码是用Java5和更高版本编译的。如您所见,我以相同的方式定义了泛型实例方法和泛型静态方法

package com.company;

public class Generics {
    public <T> T returnAGenericType(T returnThisOne) {
        return returnThisOne;
    }

    public static <T> T returnAGenericTypeStatic(T returnThisOne) {
        return returnThisOne;
    }
}
package.com公司;
公共类泛型{
公共T ReturnAgencyType(T returnThisOne){
把这个还给我;
}
公共静态T ReturnAgencyTypeStatic(T returnThisOne){
把这个还给我;
}
}
ArrayList::toArray
ArrayList::get
ArrayList::set
都是具有泛型类型参数的实例方法的示例。

实例方法可以是泛型的。下面的代码是用Java5和更高版本编译的。如您所见,我以相同的方式定义了泛型实例方法和泛型静态方法

package com.company;

public class Generics {
    public <T> T returnAGenericType(T returnThisOne) {
        return returnThisOne;
    }

    public static <T> T returnAGenericTypeStatic(T returnThisOne) {
        return returnThisOne;
    }
}
package.com公司;
公共类泛型{
公共T ReturnAgencyType(T returnThisOne){
把这个还给我;
}
公共静态T ReturnAgencyTypeStatic(T returnThisOne){
把这个还给我;
}
}


ArrayList::toArray
ArrayList::get
ArrayList::set
都是具有泛型类型参数的实例方法的示例。

可能的@MaximillianLaumeister重复项您建议的可能重复项并不能回答问题。同意-这是一个完全不同的问题。@MaximillianLaumeister可能的重复项你建议的复制品不能回答问题。同意-这是一个完全不同的问题。@MaximillianLaumeister的可能复制品你建议的可能复制品不能回答问题。同意-这是一个完全不同的问题。@MaximillianLaumeister的可能复制品你建议的可能复制品不能回答问题回答这个问题。同意-这是一个完全不同的问题。哦,这本书使用了Java7。谢谢Java7也是如此。我将很快更新我的答案。出于好奇,为什么他们只为静态方法定义泛型类型(在java 7中)。我只是说我只在java 8中尝试过它。我现在已经在Java5、6、7和8中尝试过了,但效果都一样。在任何版本的Java中,都绝对没有理由只为静态方法定义泛型类型。事实上,它可以。这并不是说你不能为实例方法做这件事。哦,这本书使用了Java7。谢谢Java7也是如此。我将很快更新我的答案。出于好奇,为什么他们只为静态方法定义泛型类型(在java 7中)。我只是说我只在java 8中尝试过它。我现在已经在Java5、6、7和8中尝试过了,但效果都一样。在任何版本的Java中,都绝对没有理由只为静态方法定义泛型类型。事实上,它可以。这并不是说你不能为实例方法做这件事。哦,这本书使用了Java7。谢谢Java7也是如此。我将很快更新我的答案。出于好奇,为什么他们只为静态方法定义泛型类型(在java 7中)。我只是说我只在java 8中尝试过它。我现在已经在Java5、6、7和8中尝试过了,但效果都一样。在任何版本的Java中,都绝对没有理由只为静态方法定义泛型类型。事实上,它可以。这并不是说你不能为实例方法做这件事。哦,这本书使用了Java7。谢谢Java7也是如此。我将很快更新我的答案。出于好奇,为什么他们只为静态方法定义泛型类型(在java 7中)。我只是说我只在java 8中尝试过它。我现在已经在Java5、6、7和8中尝试过了,但效果都一样。在任何版本的Java中,都绝对没有理由只为静态方法定义泛型类型。事实上,它可以。这并不是说你不能为实例方法做这件事。