什么是减少Java冗长的好的模式/技术[封闭]
2022-09-02 03:32:55
在 Java 7 中引入菱形运算符之前,用于创建泛型类型的静态工厂方法可用于通过减少重复类型参数的需要来减少冗长。(这是因为如果没有菱形运算符,Java 永远不会在构造函数上推断类型参数,但它会在方法调用时推断。Google Collections 使用这种技术,因此您可以编写:
Set<MyClassWithALongName> set = Sets.newHashSet();
而不是:
Set<MyClassWithALongName> set = new HashSet<MyClassWithALongName>();
在 Google Collections 的 和 类中查找以“new”开头的方法,以获取更多示例。Lists
Sets
Maps
除非您是为旧版本的Java编写的,否则从Java 7开始,最好只使用菱形运算符。
一个你可能已经知道的类似的,使用“varargs”功能:
String[] array = new String[] {"stack", "over", "flow"};
List<String> list = Arrays.asList(array);
可以缩写
List<String> list = Arrays.asList("stack", "over", "flow");
诚然,这不是一个巨大的节省,但它确实减少了一点点冗长。正如托马斯所指出的,这个列表将是不可变的,所以要小心。实际上,您可以修改列表,只是无法更改其长度。感谢pimlottc指出这一点。