我在DTO中设置了我想在GWT中的Presenter类中获取该集的所有值,如何获取
public List<MenuDTO> getMenuDetails() {
List<MenuDTO> menu = new ArrayList<MenuDTO>();
MenuDTO menuValue = new MenuDTO();
SubMenuDTO subMenuValue = new SubMenuDTO();
SubMenuDTO subMenuValue1 = new SubMenuDTO();
menuValue.setMenuHeading("Home");
Set<SubMenuDTO> setvalue = new HashSet<SubMenuDTO>();
subMenuValue.setMenuHeading("file");
subMenuValue1.setMenuHeading("Copy");
setvalue.add(subMenuValue);
setvalue.add(subMenuValue1);
menuValue.setSubMenuItems(setvalue);
menu.add(menuValue);
return menu;
}
输出: -
[com.dupont.rsms.commons.dto.SubMenuDTO@2dafd034, com.dupont.rsms.commons.dto.SubMenuDTO@718e1d5a]
我无法转换为字符串,请帮我解决此问题。
答案 0 :(得分:1)
您正在打印SubMenuDTO对象的值,但它们没有实现toString()
方法,因此正在使用默认的Object.toString()
方法。这就是为什么输出看起来像。
考虑编写toString()
方法或找到另一种方法来检索您想要打印的值。
答案 1 :(得分:0)
通常,如果要打印对象,则会调用toString()
方法。如果不重写此方法,将调用它的超类“toString()
方法”(在大多数情况下,它是Object类'toString()
方法)。如果查看Object类'toString()方法的实现,它将看起来像getClass().getName() + '@' + Integer.toHexString(hashCode())
。这就是你得到这样的输出的原因。