import java.util.HashMap;
import java.io.*;
import java.util.*;
public class Fegan implements Comparable{
HashMap<String, Integer> cart = new HashMap<String, Integer>();
List list = new ArrayList<FoodItems>();
int x =0;
public void addToCart(FoodItems f)
{
cart.put(f.name, f.valueOfFood);
}
public String display(FoodItems f)
{
return(f.name + " costs " + f.valueOfFood);
}
public void addToList(FoodItems f)
{
//FoodItems temp = (FoodItems) f;
list.add(f);
}
public int compareTo(Object o)
{
//FoodItems temp = (FoodItems) o;
if(this.x == ((FoodItems)o).valueOfFood)
return 0;
else if (this.x <((FoodItems)o).valueOfFood)
return 1;
else
return -1;
}
public void sortMap(List list)
{
for(int i =0; i< list.size(); i++)
{
FoodItems temp = (FoodItems) list.get(i);
cart.put(temp.name, temp.valueOfItem);
}
}
}
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.io.*;
import java.util.*;
public class Test {
public static void main(String [] args)
{
HashMap<String, Integer> cart = new HashMap<String, Integer>();
FoodItems firts = new FoodItems("Chocolate" , 50);
FoodItems second = new FoodItems("Juice", 79);
FoodItems third = new FoodItems("Apple", 200);
FoodItems forth = new FoodItems("Orange", 300);
FoodItems fifth = new FoodItems("Milk" , 400);
ArrayList items = new ArrayList();
items.add(firts);
items.add(second);
items.add(third);
items.add(forth);
items.add(fifth);
Collections.sort(items);
Iterator itr = items.iterator();
Fegan myFegan = new Fegan();
myFegan.sortMap(items);
while(itr.hasNext()){
Object element = itr.next();
System.out.println(element + "\n");
}
}
}
为什么写:
Exception in thread "main" java.lang.ClassCastException: FoodItems cannot be cast to java.lang.Comparable
at java.util.ComparableTimSort.countRunAndMakeAscending(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at Test.main(Test.java:21)
Comparable
是Fegan
。compareTo
您要在其中覆盖的方法应将Fegan
对象作为参数,而将其强制转换为FoodItems
。您的compareTo
实现应描述如何Fegan
与另一个进行比较Fegan
。
FoodItems
工具,Comparable
然后将实际compareTo
逻辑复制粘贴到其中。问题内容: 我当前正在使用条件来检索用户的详细信息,但是当尝试用合适的用户查询详细信息对象时,我得到了ClassCastException。 我的标准代码; 我也尝试使用; 两者都给我ClassCastException。我知道我可以通过让用户实现Serializable来轻松解决它,但是还有其他解决方案吗? 问题答案: 唯一的其他解决方案是实现Externalizable。
问题内容: 我已经编写了一个通用类,下面是该类的构造函数。我想像这样写 由于我不知道运行时的泛型类型,因此它将引发异常。 有什么办法解决这些问题?E的声明是 这就是我要打电话的方式 更新 家伙,谢谢您的帮助。我在搞泛型,所以问题就被创建了。这是所有导致问题的代码- 更新2 :似乎除了传递下面的答案中提到的类类型外,我们无法做到这一点。 问题答案: 这是重现异常所需的最最少的代码。 Java泛型使用
问题内容: 在我的应用程序中,我为gcm ccs(xmpp)运行这些代码,并且代码显示以下错误执行时发生错误 这是代码: 问题答案: 您如何申报?我想它是简单的,如果是这样,请将其更改为: 此异常的原因与以下代码中发生的原因类似: Java中的VarArgs是作为数组实现的,因此,当您将sendTask声明为as时,编译器将使用with进行调用,但是当您将then 声明为then 时,则将使用wi
问题内容: 我的程序看起来像 数据看起来像 在运行该程序时,我在控制台上看到以下内容 我相信Class Types是正确映射的, Class Mapper , 请让我知道我在这里做错了什么吗? 问题答案: 当您使用M / R程序读取文件时,映射器的输入键应为 文件中该行的索引 ,而输入值将为整行。 因此,这里正在发生的事情是您试图将行索引作为错误的对象,并且您需要一个替代项,以便Hadoop不会抱
问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。