Java 创建一个通用列表 公共类分拣员 { 公共静态void main(字符串[]args)引发IOException { UserInput read=新的UserInput(); ArrayList list=read.type(集合、类型、长度、轮数); ArrayList list=read.type(集合、类型、长度、轮数); } }

Java 创建一个通用列表 公共类分拣员 { 公共静态void main(字符串[]args)引发IOException { UserInput read=新的UserInput(); ArrayList list=read.type(集合、类型、长度、轮数); ArrayList list=read.type(集合、类型、长度、轮数); } },java,list,generics,arraylist,Java,List,Generics,Arraylist,为什么第一个有效而第二个无效 type是类UserInput中的一个方法。在那里我将填充数组。您的类有一个类型参数T,但您的main是一个静态方法 与非静态字段一样,类型参数T只能在非静态方法中访问(因为在静态方法中没有“获取”类型T的实例)。您的类有一个类型参数T,但您的main是一个静态方法 与非静态字段一样,类型参数T只能在非静态方法中访问(因为在静态方法中没有“获取”类型T的实例) public class Sortieralgorithmen<T extends Comparab

为什么第一个有效而第二个无效


type
是类
UserInput
中的一个方法。在那里我将填充数组。

您的类有一个类型参数
T
,但您的
main
是一个静态方法


与非静态字段一样,类型参数
T
只能在非静态方法中访问(因为在静态方法中没有“获取”类型
T
的实例)。

您的类有一个类型参数
T
,但您的
main
是一个静态方法

与非静态字段一样,类型参数
T
只能在非静态方法中访问(因为在静态方法中没有“获取”类型
T
的实例)

public class Sortieralgorithmen<T extends Comparable <T>>
{
    public static void main (String[] args) throws IOException
    {
         UserInput read = new UserInput();
         ArrayList<Integer> list = read.type(muster, type, length, rounds);
         ArrayList<T> list = read.type(muster, type, length, rounds);
    }
 }