Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse(Java)中未找到源代码错误_Java_Eclipse - Fatal编程技术网

Eclipse(Java)中未找到源代码错误

Eclipse(Java)中未找到源代码错误,java,eclipse,Java,Eclipse,我有以下几行代码: Set<Group> setofAllGroups; setofAllGroups = new TreeSet<Group>(); Group[] allGroupsArray = (Group[]) setofAllGroups.toArray(); 所有组的集合; setofAllGroups=新树集(); 组[]所有组数组=(组[])所有组的集合。toArray(); 最后一行导致运行时错误,在调试模式下,我得到“未找到源” 类组的代码: p

我有以下几行代码:

Set<Group> setofAllGroups;
setofAllGroups = new TreeSet<Group>();
Group[] allGroupsArray = (Group[]) setofAllGroups.toArray();
所有组的集合;
setofAllGroups=新树集();
组[]所有组数组=(组[])所有组的集合。toArray();
最后一行导致运行时错误,在调试模式下,我得到“未找到源”

类组的代码:

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

}
公共类组
{
字符串组名;
设置组成员;
公共组()
{
groupName=“”;
groupMembers=新树集();
}
public void setGroupName(字符串名称)
{
groupName=name;
返回;
}
公共作废添加成员(收件人添加)
{
groupMembers.add(toAdd);
返回;
}
public void addMember(字符串名称、字符串电话号码)
{
收件人toAdd=新收件人(姓名、电话号码);
groupMembers.add(toAdd);
返回;
}
公共作废删除成员(收件人删除)
{
组成员。删除(删除);
}
public void removember(字符串名称、字符串电话号码)
{
收件人toRemove=新收件人(姓名、电话号码);
组成员。删除(删除);
}
public void removeAllGroupMembers()
{
groupMembers.clear();
}
}

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

快速回答是您不能这样强制转换:

Group[] allGroupsArray = (Group[]) setofAllGroups.toArray();
相反,您必须使用以下选项:

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

这是因为toArray()返回对象[],然后尝试将对象[]强制转换为组[]。此操作失败。

您是否检查了代码工作情况。您能否解释toArray接收参数的原因?