对于大学项目我必须修复软件的维护。 Kiuwan报告问题“避免返回Java.lang.Object,而是将其转换为特定类型”。在许多方法和解决所有问题我应该从头到尾重新设计软件! 有没有办法规避Kiuwan并“解决”这个问题? 这是一个修复方法的示例:
public Object popupMenu(Object component) {
return ThinletLayoutInterface.popupMenu(component, this);
}
答案 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);
这会给打电话者带来所有类型安全的负担,而且就像我说的那样,这是一种欺骗。