避免返回Java.lang.Object,而是将其转换为特定类型

时间:2017-06-10 16:42:31

标签: java

对于大学项目我必须修复软件的维护。 Kiuwan报告问题“避免返回Java.lang.Object,而是将其转换为特定类型”。在许多方法和解决所有问题我应该从头到尾重新设计软件! 有没有办法规避Kiuwan并“解决”这个问题? 这是一个修复方法的示例:

public Object popupMenu(Object component) {
    return ThinletLayoutInterface.popupMenu(component, this);
}

1 个答案:

答案 0 :(得分:0)

我真的不知道ThinletLayoutInterface是做什么的。但是如果你对这种方法的每次调用都绝对知道你期望得到什么类型,你可以作弊,有些俗气并做

public <T> T popupMenu(Class<T> cls, Object component) {
     return (T) ThinletLayoutInterface.popupMenu(component, this);
}

然后像这样调用它,假设作为一个例子,你知道这个调用应该返回一个Widget。

Widget w = populateMenu(Widget.class, myComponent);

这会给打电话者带来所有类型安全的负担,而且就像我说的那样,这是一种欺骗。