使代码更具可读性

时间:2012-07-01 10:08:33

标签: java readability

我的应用程序中有两个类具有相同的名称,我无法重命名它们,它们来自packageA,第二个来自packageB,这个类的名称是State,我必须在我的程序中的一个地方使用它这个:

 Map<Integer,Set<org.omg.PortableServer.POAManagerPackage.State>>  

有没有办法(但是使用这个类)使它更具可读性(稍微缩短一点)?

3 个答案:

答案 0 :(得分:4)

可能来自其中一个类以消除歧义。例如,在POAState.java

import org.omg.PortableServer.POAManagerPackage.State;

public class POAState extends State {}

然后:

Map<Integer,Set<POAState>> my_map;

答案 1 :(得分:0)

创建仅包含Set<org.omg.PortableServer.POAManagerPackage.State>和所有必需Set方法的包装类。

在客户端使用:

Map<Integer,GoodWrappingSetName> 

答案 2 :(得分:0)

如果在同一段代码(* .java文件)中使用两个不同的State类,则答案为“否”,Java不提供简写符号。您必须明确并包含完整的包名称以消除歧义。

@dantuch已经提出了一个有趣的想法,但是如果你可以扩展其中一个,而不是包装类,你可以创建一个空的子类State,它只是将它的所有实现推迟到父类类。

public MyState extends State {
    // no implementation required
}

然后你可以参考MyState