首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有什么好的模式/技术可以减少Java的冗长

有什么好的模式/技术可以减少Java的冗长
EN

Stack Overflow用户
提问于 2009-08-09 04:18:42
回答 7查看 5.7K关注 0票数 21

Java有一点让人讨厌的一件事就是表达概念所需的代码量。我信奉“代码越少越好”的哲学,我想知道如何才能写出不那么冗长的Java。最近,我读到了Hidden Features of Java问题,并被介绍使用double-brace initialization来模拟列表或映射文字。当然,使用这种方法也有缺点,但它确实允许您用明显较少的字符来做某些事情,并且(如果格式正确)使代码更加整洁和清晰。我想知道是否有其他聪明的技巧和鲜为人知的语言特性可以让我的代码更简洁。

我希望看到关于这项技术的解释的答案,它所取代的更冗长的方式,以及使用这项技术的任何潜在缺点。

EN

回答 7

Stack Overflow用户

发布于 2009-08-09 04:38:05

在Java7中引入diamond operator之前,可以使用用于创建泛型类型的静态工厂方法来减少重复类型参数的需要,从而减少冗长。(这是因为如果没有菱形运算符,Java永远不会在构造函数上推断类型参数,但它会在方法调用时推断类型参数。) Google Collections使用这种技术,因此您可以这样写:

代码语言:javascript
复制
Set<MyClassWithALongName> set = Sets.newHashSet();

而不是:

代码语言:javascript
复制
Set<MyClassWithALongName> set = new HashSet<MyClassWithALongName>();

在Google Collections的ListsSetsMaps类中查找以"new“开头的方法,以获得更多这样的示例。

除非您是在为旧版本的Java编写代码,否则从Java7开始,最好只使用菱形运算符。

票数 9
EN

Stack Overflow用户

发布于 2009-12-18 12:28:46

我发现最多的(唯一?)编写简洁的java的有效方法是根本不编写java。在我需要快速编写与Java互操作的程序时,我发现Groovy是一个很好的选择。使用一种更简洁的语言,它仍然可以编译成JVM字节码,这可能是一个很好的解决方案。虽然我没有使用Scala的个人经验,但我听说在很多情况下Scala比Groovy更好。

票数 3
EN

Stack Overflow用户

发布于 2010-01-14 21:52:51

查看lambdaj。它有许多功能,可以帮助您的代码更简洁和可读性更好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1250598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档