class Vehicle {

    int vno;
    String name;

    public Vehicle(int vno, String name) {
        this.vno = vno;
        this.name = name;
    }

    public String toString() {
        return vno + ":" + name;
    }
}

and this code fragment:



Set<Vehicle> vehicles = new TreeSet<>();
vehicles.add(new Vehicle(10123, "Ford"));
vehicles.add(new Vehicle(10124, "BMW"));
System.out.println(vehicles);

What is the result?

A.

10123:Ford
10124:BMW

B.

10124:BMW
10123:Ford

C. A compilation error occurs.
D. A ClassCastException is thrown at run time.

題解

題目提供的程式會在第21行拋出ClassCastException,因為TreeSet的元素必須要實作Comparable介面,才可以進行自動排序。