GWT Presenter类错误

时间:2013-03-31 12:17:32

标签: java

我在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]

我无法转换为字符串,请帮我解决此问题。

2 个答案:

答案 0 :(得分:1)

您正在打印SubMenuDTO对象的值,但它们没有实现toString()方法,因此正在使用默认的Object.toString()方法。这就是为什么输出看起来像。

考虑编写toString()方法或找到另一种方法来检索您想要打印的值。

答案 1 :(得分:0)

通常,如果要打印对象,则会调用toString()方法。如果不重写此方法,将调用它的超类“toString()方法”(在大多数情况下,它是Object类'toString()方法)。如果查看Object类'toString()方法的实现,它将看起来像getClass().getName() + '@' + Integer.toHexString(hashCode())。这就是你得到这样的输出的原因。