查看下面的代码,Marker interfaces
表示我的BusinessObject
是Serializable
(对吗?)。
旧代码:
public final class State implements BusinessObject
...
}
public class Location implements BusinessObject{
...
}
import java.io.Serializable;
public interface BusinessObject extends Serializable{
}
我的问题是,由于BusinessObject
的唯一目的是表明它是Serializable
,因此可以简单地将其替换为:
public final class State implements Serializable {
...
public class Location implements Serializable {
...
并删除BusinessObject.java
?
答案 0 :(得分:1)
理论上,是的,只要BusinessObject
真的只延伸Serializable
。
现在,在更广泛的背景下,您可能希望在摆脱它之前执行完整性检查。
例如,在IDE中打开BusinessObject
接口的类型层次结构,查看所有实现类,扩展接口等。
甚至可能存在代码库可以编译的边缘情况,但是如果通过反射引用BusinessObject
接口,或者在JSP等声明性标记中引发问题。
对于这些情况,我还建议在整个项目中对BusinessObject
进行文本搜索。
这也可以帮助您根除已弃用的评论。