Java未检查警告添加数组列表

标签 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;

    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);
    }
}

}

这是 SortedPair

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());
    }

}

我收到以下警告

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

我不明白。

我尝试更改 ArrayList<Person> InitializedPersonList;ArrayList<Comperable> InitializedPersonList;但没有成功。

大家有什么想法吗?

我认为问题很清楚,我可以添加多少文本 Common..

最佳答案

你需要的是

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

关于Java未检查警告添加数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16611884/

相关文章:

java - 在 Java 中读取文本文件并将其添加到对象的 ArrayList 中

java - 如何创建一个从 ArrayList 的一行到另一行拆分每一行的循环?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

c++ - 'comparison between signed and unsigned integer expressions' 真的会导致错误吗?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

java - JComboBox 每个项目的颜色不同失败

java - 在方法或构造函数之外实例化对象?

java - 序列化 - ReadObject 错误

java - 什么是 Futures.transform() lambda 参数,以防原始 ApiFuture/ListenableFuture 失败或取消

java - arraylist 可以用返回 arraylist 的方法初始化吗?