|
|
1
4
国际海事组织,即使有更多的代码行,
|
|
|
2
5
这里使用的闭包与
Command pattern
.我猜命令在这里可能有用的任何原因。A
对我来说,有几个优势是显而易见的:
实际上,通过传递一个简单的函数来完成您希望它对数据所做的工作,并让一个框架填充其余的工作,您可以真正轻松地解决大量的问题。您现在可以使用匿名类来实现这一点,但是适当的闭包至少会减少很多锅炉盘。
我使用过的一个框架使用类似于这种方法来减少很多样板文件
Spring-Jdbc
. 在这里,您将传递一个简单的函数jdbctemplate,该函数从
|
|
|
3
2
我喜欢它们,并且经常使用它们。我相信主要的好处不是语法上的,而是您可以预先定义并重新使用上面声明为匿名类的代码。例如,您可以预先定义可以传递给转换函数的标准转换,甚至一个对获得空对象模式效果没有任何作用的空转换。这允许您使用更具声明性的编码风格。 |
|
|
4
1
什么 bruno conde 说。此外,一些IDE(例如Eclipse)可以隐藏匿名类,将Google集合代码缩小到一行。现在 那个 是可读的!:) |
|
|
5
1
在软件开发中,显式和可理解(读:可维护)比简洁更重要,除非您喜欢使用一次性代码或Perl脚本:—) 如果您想要实现的是将对象列表转换为另一类型的对象列表,则第一个Java示例是关于代码意图的最清晰的,IMHO。 Google Collecions的例子也清楚地说明了代码的意图,尽管正如汉内斯所说,我不会使用匿名类,而是使用一个有有用名称的明确定义的类。 Ruby中的语法糖分使在代码中引入转换变得容易,当需要更改时,很容易错过一个转换。转换列表也不是一个很便宜的功能,并且能够很容易地使用它们会带来过度使用的风险。 |
|
|
6
0
它非常丑陋,人们渴望更好的语法。一段时间后你就可以习惯了,但对初学者来说,这是一种威胁。 忘记@override-代码已经混乱。@override解决了现实中不存在的问题,但人们现在却把它当作一个关键的语义元素来使用。 |
|
|
7
0
函数式编程不是你可以通过使用它来保存的许多击键的问题,主要是它如何提高代码的可读性。例如,通过使用 lambdaj 您可以将代码段转换为:
在这一个:
你不觉得这样读起来更容易吗? |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |