51得票7回答
DTO模式:两个对象之间复制属性的最佳方式

在我的应用程序架构中,我通常通过服务层将数据访问层的对象或对象列表发送到Web层,其中这些对象从DAO对象转换为DTO对象,反之亦然。Web层无法访问DAO对象,而DAO层不使用DTOs。 为了说明,我通常会编写以下代码: @Transactional(readOnly = true) p...

15得票4回答
Java:如何在不迭代的情况下从List<T>转换为Map<f1(T),List(f2(T))>?

我有一个对象列表,我需要将其转换为一个映射,其中键是每个元素的一个函数,值是另一个函数的每个元素的列表。 实际上,这相当于根据它们的一个函数对元素进行分组。 例如,假设有一个简单的元素类:class Element { int f1() { ... } String f2()...

12得票2回答
在Android中使用lambdaj

有人尝试在Android开发中使用lambdaj库吗? 当我创建一个简单的小Java应用程序时,它对我很有效,但我无法在Android应用程序中使用它。 更新: 我正在添加lambdaj(lambdaj-2.3.2-with-dependencies.jar,从http://code.g...

11得票2回答
Lambdaj FinalClassArgumentCreators的应用程序级配置。在哪里以及如何进行配置?

我们在配置lambdaj与Joda Time一起工作时遇到了问题。由于LocalDate是一个final类,Lambdaj需要这样初始化:(请参见bug 70)public class LocalDateArgumentCreator implements FinalClassArgument...

10得票3回答
Java中类型安全的嵌套集合/结构平面化

我想在Java中对某种类型T的任意深度嵌套集合/结构进行扁平化,最好只有活动视图而没有复制的集合;不仅处理集合,还要处理迭代器、任意维度的T数组、可迭代对象以及所有这些结构的任意混合和嵌套;并且需要静态类型安全。是否有Java库可以处理此类问题? Guava 似乎只处理一层嵌套,即 Co...

10得票3回答
.NET的Lambda表达式在Java中的应用

我最近从C#再次转向Java开发,但非常想念像C#中的lambda表达式和IEnumerable.Foreach这样的功能。因此我正在寻找一个Java中可以使用的lambda表达式的库。 除了LambdaJ,还有更好的库吗? 另外,Clojure能否直接在Java程序中内联使用?也就是说,...

9得票2回答
Java Bean的类型安全属性名

我希望找到一种类型安全的方法来获取属性名称。 例如,使用lambdaj,我可以这样做: propertyName(on(Contract.class).getContractKey()) 但这样有点啰嗦,而且性能也不太好。 我希望能有一种在构建过程中生成的解决方案。

7得票2回答
有没有一个Java库可以将谓词定义为类似SQL字符串的形式?

Lambdaj (以及其他一些类似的库)提供了一个having函数,使我可以像这样定义谓词(以下示例直接从 lambdaj功能页面中获取): List&lt;Person&gt; oldFriends = filter(having(on(Person.class).getAge(...

7得票2回答
Lambda表达式与Lambdaj的比较

在我去年做的一个Java集成项目中,我发现了lambdaj,并立即被它让我更快地编写出更易读的代码的能力所说服。我记得当时也听说lambda表达式即将到来,并认为我已经找到了一个已经提供所有这些功能的插件。 现在我重新审视lambda表达式,并意识到我可能对lambdaj的目的和范围有误解。...

7得票2回答
从List<Foo>到Map<String, List<Foo>>:寻找更好的实现方式

让我展示我的代码: 类 Foo public class Foo { String code; String value; public Foo(String code, String value) { super(); this...