LINQ的Java等价物是什么?
当前回答
Java LINQ to SQL实现。与.NET LINQ相比,提供了完整的语言集成和更大的功能集。
其他回答
没有什么比LINQ for Java更好的了。
...
Edit
现在,在Java8中,我们介绍了StreamAPI,这在处理集合时是一种类似的事情,但它与Linq不同。
如果您正在寻找的是ORM,比如实体框架,那么您可以尝试Hibernate
:-)
您可以使用scala,它在语法上类似,实际上可能比linq更强大。
有一个叫做quaere的项目。
这是一个Java框架,它增加了查询集合的能力。
注:根据作者的说法,该项目已不再维护。
查看tiny-q。(请注意,您当前无法下载。)
下面是一个适用于上述链接的示例:
首先,我们需要一些数据的集合,比如一组字符串
String[] strings = { "bla", "mla", "bura", "bala", "mura", "buma" };
现在我们只选择以“b”开头的字符串:
Query<String> stringsStartingWithB = new Query<String>(strings).where(
new Query.Func<String, Boolean>(){
public Boolean run(String in) {
return in.startsWith("b");
}
}
);
没有实际的数据被复制或类似的东西,一旦你开始迭代,它就会被处理:
for(String string : stringsStartingWithB ) {
System.out.println(string);
}
java中没有这样的功能。通过使用其他API,您将获得此功能。就像假设我们有一个包含名称和id的动物对象。我们有包含动物对象的列表对象。现在,如果我们想从列表对象中获取包含“o”的所有动物名称。我们可以编写以下查询
from(animals).where(“getName”,contains(“o”)).all();
上面的Query语句将列出名称中包含“o”字母的动物。更多信息请浏览以下博客。http://javaworldwide.blogspot.in/2012/09/linq-in-java.html
推荐文章
- JavaFX应用程序图标
- Java:强/软/弱/幻影引用的区别
- 在序列化和反序列化期间JSON属性的不同名称
- 获取Android设备名称
- Gradle代理配置
- 如何获得具有已知资源名称的资源id ?
- 在Android上将字符串转换为整数
- 为什么“System.out。”println“工作在Android?
- 在Java中什么时候使用可变参数?
- Mockito的argumentCaptor的例子
- 我如何告诉Spring Boot哪个主类用于可执行jar?
- 如何将Java8流的元素添加到现有的列表中
- 在Java 8中是否可以转换流?
- 不区分大小写的字符串作为HashMap键
- 什么是maven中的“pom”打包?