java - Eclipse (Java) 中未找到源错误

标签 java eclipse

我有这几行代码:

Set<Group> setofAllGroups;
setofAllGroups = new TreeSet<Group>();
Group[] allGroupsArray = (Group[]) setofAllGroups.toArray();

最后一行导致运行时错误,在 Debug模式下我得到“找不到源”

Group 类的代码:

public class Group 
{
String groupName;
Set<Recipient> groupMembers;

public Group()
{
    groupName = "";
    groupMembers = new TreeSet<Recipient>();
}

public void setGroupName(String name)
{
    groupName = name;
    return;
}

public void addMember(Recipient toAdd)
{
    groupMembers.add(toAdd);
    return;
}
public void addMember(String name, String phoneNumber)
{
    Recipient toAdd = new Recipient(name, phoneNumber);
    groupMembers.add(toAdd);
    return;
}
public void removeMember(Recipient toRemove)
{
    groupMembers.remove(toRemove);
}
public void removeMember(String name, String phoneNumber)
{
    Recipient toRemove = new Recipient(name, phoneNumber);
    groupMembers.remove(toRemove);
}
public void removeAllGroupMembers()
{
    groupMembers.clear();
}

}

运行时错误的原因是什么?

最佳答案

快速回答是你不能这样转换:

Group[] allGroupsArray = (Group[]) setofAllGroups.toArray();

相反,你必须使用这个:

Group[] allGroupsArray = setofAllGroups.toArray(
     new Group[setofAllGroups.size()]);

这是因为 toArray() 返回 Object[],然后您尝试将 Object[] 转换为 Group[]。这失败了。

关于java - Eclipse (Java) 中未找到源错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999747/

相关文章:

java - spring中线程提交任务,不等待完成

java - 给定一组输入和一个结果,我将如何获得用于获得结果的方程式?

java - 奇怪的错误。 "return mFragmentList.get(position);"行不兼容类型错误

java - XML 编码器还是二进制编码器? - Eclipse Milo(客户端-服务器)

android - 如何更改生成的apk文件的默认输出文件夹?

java - 为什么我们不能将顶级类定义为私有(private)的?

java - 优化数据库搜索查询

java - 如何更改此方法以返回字符串列表而不是字符串?

python - PyDev 代码分析在 Aptana Studio 中不起作用

android - 安装新软件时的Eclipse问题