如何在Java中创建一些变量类型别名

2022-08-31 12:25:01

假设我有这个代码

Map<String, String> list = new HashMap<String, String>();
list.put("number1", "one");
list.put("number2", "two");

我怎样才能使一些“别名”类型

Map<String, String>

到更容易重写的东西,比如

// may be something like this
theNewType = HashMap<String, String>;

theNewType list = new theNewType();
list.put("number1", "one");
list.put("number2", "two");

基本上我的问题是,如何将“别名”创建为某种“类型”,这样我就可以使它更容易编写,并且在需要更改整个程序代码时更容易。

谢谢,如果这是愚蠢的问题,很抱歉。我在Java中有点新。


答案 1

Java 中没有别名。您可以使用您的类扩展该类,如下所示:HashMap

public class TheNewType extends HashMap<String, String> {
    // default constructor
    public TheNewType() {
        super();
    }
    // you need to implement the other constructors if you need
}

但请记住,这将是一个与您键入的类不同HashMap<String, String>


答案 2

Java 中没有等效项,也没有用于别名类型的常见习语。我想你可以做这样的事情typedef

class StringMap extends HashMap<String, String> {}

但这并不常见,对于程序维护者来说也不明显。