【问题标题】:Source not found error in Eclipse (Java)Eclipse (Java) 中找不到源错误
【发布时间】:2023-03-20 01:01:01
【问题描述】:

我有这几行代码:

Set<Group> setofAllGroups;
setofAllGroups = new TreeSet<Group>();
Group[] allGroupsArray = (Group[]) 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();
}

}

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

【问题讨论】:

标签: java eclipse


【解决方案1】:

快速回答是你不能那样投:

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

你必须使用这个:

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

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

【讨论】:

  • 代码有效。你能解释一下为什么 toArray 正在接收参数吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
相关资源
最近更新 更多