由于有C和c++的背景,我发现明智地使用typedef非常有帮助。您是否知道在Java中实现类似功能的方法,无论是Java机制、模式,还是您使用过的其他有效方法?


当前回答

在某些情况下,绑定注释可能正是你想要的:

https://github.com/google/guice/wiki/BindingAnnotations

或者,如果您不想依赖于Guice,那么使用常规注释就可以了。

其他回答

实际上,typedef传递到Javaland的唯一用途是别名——也就是说,为同一个类提供多个名称。也就是说,你有一个类“a”,你希望“B”指的是同一个东西。在c++中,你会做"typedef B A;"

不幸的是,他们只是不支持它。然而,如果你控制了所有涉及到的类型,你就可以在库级别上做一个讨厌的黑客——你要么从a扩展B,要么让B实现a。

Java有基本类型,对象和数组,仅此而已。没有定义类型。

如果这是你的意思,你可以简单地扩展你想要typedef的类,例如:

public class MyMap extends HashMap<String, String> {}

Kotlin支持类型别名https://kotlinlang.org/docs/reference/type-aliases.html。可以重命名类型和函数类型。

在java 1.6中没有类型定义,你能做的是为你想要的做一个包装类,因为你不能子类化最终类(Integer, Double等)