Java未检查警告添加arraylist

Java未检查警告添加arraylist,java,arraylist,warnings,unchecked,Java,Arraylist,Warnings,Unchecked,这是主要节目 public class MainPerson { public MainPerson(){} public static void StartMainPerson() { int i = 1; ArrayList<SortedPair> PersonList; ArrayList<Person> InitializedPersonList; final int NUMBER_OF_PEOPLE = 6;

这是主要节目

public class MainPerson {

public MainPerson(){}

public static void StartMainPerson()
{
    int i = 1;
    ArrayList<SortedPair> PersonList;
    ArrayList<Person> InitializedPersonList;        
    final int NUMBER_OF_PEOPLE = 6;

    PersonList = new ArrayList<>();
    InitializedPersonList = new ArrayList<>();

    InitializedPersonList.add(new Person( "Assaf Malki" , 1984));
    InitializedPersonList.add(new Person( "Assaf Malki" , 1984));
    InitializedPersonList.add(new Person( "Breanna Romberger" , 1920));
    InitializedPersonList.add(new Person( "Latrice Lane" , 1930));
    InitializedPersonList.add(new Person( "Bridgett Couch" , 1940));
    InitializedPersonList.add(new Person( "Roxane Sova" , 1950));
    InitializedPersonList.add(new Person( "Donnette Weston" , 1960));
    InitializedPersonList.add(new Person( "Milton Kopecky" , 1970));
    InitializedPersonList.add(new Person( "Rosella Vandoren" , 1980));
    InitializedPersonList.add(new Person( "Kayleigh Willimas" , 1990));
    InitializedPersonList.add(new Person( "Zula Lashua" , 2000));
    InitializedPersonList.add(new Person( "Ralph Baudoin" , 2010));
    InitializedPersonList.add(new Person( "Kenton Tseng" , 2005));
    InitializedPersonList.add(new Person( "Brendon Gilchrest" , 1995));

    Iterator itr = InitializedPersonList.iterator();

    while(itr.hasNext())
    {
        System.out.print("Pair " + i + " is " + itr.next() + " and " + itr.next() + ".\n");
        i = i + 1;
    }

    i = 0;
    System.out.print("\n");
    Iterator itr1 = InitializedPersonList.iterator();

    while(i < NUMBER_OF_PEOPLE)
    {

        try{
            System.out.println("Adding pair number " + (i+1) + "..");
            PersonList.add(new SortedPair((Person) itr1.next(), (Person) itr1.next()));
        }
        catch (IllegalPair e)
        {
            System.out.println("Invalid input, same person name, try again.");
            continue;
        }

        i = i + 1;

    }

    System.out.println("");

    for (SortedPair Value : PersonList)
    {
        System.out.println(Value);
    }
}

}
公共类MainPerson{
公共MainPerson(){}
公共静态无效StartMainPerson()
{
int i=1;
ArrayList个人主义者;
ArrayList初始化PersonList;
最终整数人数=6人;
PersonList=新的ArrayList();
InitializedPersonList=新的ArrayList();
缩写为personlist.add(新人(“Assaf Malki”,1984年));
缩写为personlist.add(新人(“Assaf Malki”,1984年));
缩写为personlist.add(新人物(“Breanna Romberger”,1920));
缩写为personlist.add(新人物(“Latrice Lane”,1930));
初始化PersonList.add(新人物(“Bridgett Coach”,1940));
姓名首字母缩写为personlist.add(新人(“Roxane Sova”,1950年));
缩写为personlist.add(新人(“Donnette Weston”,1960年));
缩写为personlist.add(新人(“Milton Kopecky”,1970年));
缩写为personlist.add(新人(“Rosella Vandoren”,1980年));
缩写为personlist.add(新人(“Kayleigh Willimas”,1990年));
缩写为personlist.add(新人物(“Zula Lashua”,2000年));
初始化PersonList.add(新人物(“拉尔夫·鲍登”,2010年));
姓名首字母缩写为personlist.add(新人(“Kenton Tseng”,2005年));
缩写为personlist.add(新人(“Brendon Gilchrest”,1995年));
迭代器itr=InitializedPersonList.Iterator();
while(itr.hasNext())
{
System.out.print(“对”+i+”是“+itr.next()+”和“+itr.next()+”\n”);
i=i+1;
}
i=0;
系统输出打印(“\n”);
迭代器itr1=InitializedPersonList.Iterator();
而(我<人数)
{
试一试{
System.out.println(“添加对号”+(i+1)+.”;
PersonList.add(新的sortedAir((Person)itr1.next(),(Person)itr1.next());
}
捕获物(非法者)
{
System.out.println(“输入无效,人名相同,请重试”);
继续;
}
i=i+1;
}
System.out.println(“”);
用于(分拣空气值:个人列表)
{
系统输出打印项次(值);
}
}
}
这是分拣机

public class SortedPair <E extends Comparable<E>>
{
    E Max_Element;
    E Min_Element;

    public SortedPair(E FirstElement, E SecondElemnt) throws IllegalPair
    {
        int Compare_Result = FirstElement.compareTo(SecondElemnt);

        if (Compare_Result == 0)
        {
            Max_Element = null;
            Min_Element = null;
            throw new IllegalPair(FirstElement.toString(), SecondElemnt.toString());
        }
        else if (Compare_Result > 0)
        {
            Max_Element = FirstElement;
            Min_Element = SecondElemnt;
        }
        else 
        {
            Max_Element = SecondElemnt;
            Min_Element = FirstElement;

        }
    }

    public E getFirst()
    {
        return Max_Element;
    }

    public E getSecond()
    {
        return Min_Element;
    }

    @Override
    public String toString()
    {
        return String.format("%s is bigger then %s.", getFirst(), getSecond());
    }

}
公共类分拣机
{
E Max_元素;
E最小元素;
公共分拣空气(E第一元素,E第二元素)抛出非法对
{
int Compare_Result=FirstElement.compareTo(SecondElemnt);
如果(比较结果==0)
{
Max_元素=null;
最小元素=null;
抛出新的非法对(FirstElement.toString(),SecondElemnt.toString());
}
否则如果(比较结果>0)
{
最大元素=第一元素;
最小元素=第二元素;
}
其他的
{
最大元素=第二元素;
最小元素=第一元素;
}
}
公共E getFirst()
{
返回Max_元素;
}
公共E getSecond()
{
返回最小元素;
}
@凌驾
公共字符串toString()
{
返回字符串.format(“%s大于%s.”,getFirst(),getSecond());
}
}
我得到以下警告

MainPerson.java:60: warning: [unchecked] unchecked call to SortedPair(E,E) as a member of the raw type SortedPair
                PersonList.add(new SortedPair((Person) itr1.next(), (Person) itr1.next()));
                               ^
  where E is a type-variable:
    E extends Comparable<E> declared in class SortedPair
MainPerson.java:60:警告:[未选中]未选中调用SortedPair(E,E)作为原始类型SortedPair的成员
PersonList.add(新的sortedAir((Person)itr1.next(),(Person)itr1.next());
^
其中E是一个类型变量:
E扩展了SortedPair类中声明的可比性
我不明白为什么

我尝试更改
ArrayList InitializedPersonList
ArrayList InitializedPersonList但它不起作用

有什么想法吗,伙计们

我想问题很清楚,我可以添加多少常用文本。

您需要的是

List<SortedPair<Person>> PersonList = new ArrayList<SortedPair<Person>>();
List<Person> InitializedPersonList = new ArrayList<Person>();
List PersonList=new ArrayList();
List InitializedPersonList=新建ArrayList();

请使用正确的Java格式。变量从不以大写字母开头。这使得阅读其他java开发人员的文章非常令人不安


顺便说一句:我认为Marco是对的。

您尝试了
初始化PersonList=newArrayList()
to
InitializedPersonList=new ArrayList()
@Evans:这不会改变任何事情。您还应该得到一个关于
迭代器的警告,遵循Java命名约定将有助于提高代码的可读性……为什么?我做错了什么?谢谢,是的。对此进行阐述;您的SortedPair类是通用类;您需要声明参数化类型(Person),我也尝试过这个。它给了我以下信息:类型参数Person不在类型变量E的范围内,其中E是一个类型变量:E扩展了SortedPair类中声明的Comparable您已经将SortedPair的参数类型声明为“扩展Comparable”;这是该类型的一个要求。类型(Person)实现了Compariable吗?@user2102697这意味着你的
Person
类必须实现
Compariable
它确实实现了公共类Person实现了Compariable{作为一个旁注,你应该把它作为一个注释,而不是一个答案,因为你没有回答OP的问题,而是发表评论(无意冒犯))