-2
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Comparable
at java.util.Collections.sort(Collections.java:121)
at day3.collections.SortArrayList.SortArrayList.main(SortArrayList.java:20)

package day3.collections.arraylist;

import java.util.ArrayList;
import java.util.Scanner;

public class ArrayListMain {

private ArrayList a;

public void demo(){

    try{

        System.out.println("enter the no to add in the array list");
        Scanner in = new Scanner(System.in);

        int digitno = in.nextInt();
        int numbers[] = new int[digitno];

        Scanner sc=new Scanner(System.in);
        System.out.println("Please enter numbers...");
        ArrayList arrayList1 = new ArrayList();



    for(
            int j=0;j<digitno;j++){
            numbers[j]=sc.nextInt();
            arrayList1.add(numbers[j]);
            setA(arrayList1);
        }

   }
    catch(IndexOutOfBoundsException e){
        System.out.println("Error:  Entered number is not found");
    }

   catch(Exception e){
       System.out.println("Error:  Please enter integer values only");

   }

}

public ArrayList getA() {
    return a;
}

public void setA(ArrayList a) {
    this.a = a;
}

}



package day3.collections.SortArrayList;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;

import day3.collections.arraylist.ArrayListMain;

public class SortArrayList extends ArrayListMain {

 public static void main(String[] args) {


  ArrayListMain arrayList=new ArrayListMain();
    ArrayList arrayL=new ArrayList();
    arrayList.demo();
    arrayL.add(arrayList.getA());


Collections.sort(arrayL);


System.out.println("ArrayList elements after sorting in ascending order : ");
for(int i=0; i<arrayL.size(); i++)
  System.out.println(arrayL.get(i));

}
}
4

4 に答える 4

0

ArrayList が Comparable を実装していないという事実については、Comparator オブジェクトをパラメーターとして受け取る sort() メソッドを使用し、自分で比較メソッドを実装する必要があります: http://docs.oracle.com/javase/7 /docs/api/java/util/Collections.html#sort(java.util.List,%20java.util.Comparator)

于 2013-11-15T11:32:27.697 に答える