LINQ와 동등한 Java는 무엇입니까?
답변
LINQ for Java와 같은 것은 없습니다.
…
편집하다
이제 Java 8에서는 Stream API를 소개합니다. 이것은 컬렉션을 다룰 때와 비슷한 종류이지만 Linq와는 다릅니다.
Entity Framework와 같은 ORM이라면 Hibernate 를 사용해 볼 수 있습니다.
🙂
답변
다른 솔루션 인 Coollection이 있습니다.
Coolection은 새로운 람다 인 것처럼 보이지만이 라이브러리가 도움이 될 오래된 레거시 Java 프로젝트로 둘러싸여 있습니다. 다음과 같이 컬렉션에서 가장 많이 사용되는 반복 작업 만 포함하여 사용 및 확장이 매우 간단합니다.
from(people).where("name", eq("Arthur")).first();
from(people).where("age", lessThan(20)).all();
from(people).where("name", not(contains("Francine"))).all();
답변
람다는 이제 JSR-335-JavaTM 프로그래밍 언어를위한 람다 식 의 형태로 Java 8에서 사용 가능합니다.
업데이트 : JDK8이 릴리스 되어 프로젝트 람다가 포함되어 있습니다. 현재 여전히 MEAP 에서 Java 8 의 사본을 가져 오는 것이 좋습니다.
스트림, 내부 반복, 단락 및 생성자 참조에 대한 이해를 얻는 동시에 JDK8 내에서 람다가 어떻게 구현되는지에 대한 적절한 이해를 위해 람다와 관련된 Brian Goetz 기사를 읽으십시오 . 또한 JSR을 확인하여 추가 예제를 얻으십시오. .
필자는 JDK8에서 람다를 사용하여 얻을 수있는 장점 인 The Power of the Arrow 에 대한 블로그를 작성했습니다 . 또한 NetBeans 8 은 JDK8로 구문을 변환하는 데 큰 도움을 주며 NetBeans를 사용하여 JDK 8로 마이그레이션에 대해 블로그를 작성했습니다 .
답변
lambdaj 라이브러리를 사용하여 더 읽기 쉬운 방식으로 컬렉션의 항목 등을 선택할 수 있습니다
https://code.google.com/archive/p/lambdaj/
그것은 마법의 문자열을 사용하지 않기 때문에 Quaere 라이브러리에 비해 몇 가지 장점이 있으며, 완전히 안전합니다. 제 생각에는 더 읽기 쉬운 DSL을 제공합니다.
답변
javacc 를 사용하여 고유 한 항목 을 작성 하지 않으면 LINQ 항목을 찾을 수 없습니다 .
누군가가 그렇게 할 수있는 실용적인 방법을 찾을 때까지 다음과 같은 좋은 대안이 있습니다.
답변
LINQ to Objects -JAVA 8에는 값 스트림에서 기능 스타일 작업을 지원하는 Stream API가 추가되었습니다.
Java 8 설명 : Java 콜렉션에 Lambdas 적용
LINQ to SQL / NHibernate 등 (데이터베이스 쿼리) -하나의 옵션은 새로운 JAVA 8 기능을 사용하고 2014 년 2 월 26 일 Github에서 릴리스 된 JINQ를 사용하는 것입니다 : https://github.com/my2iu/Jinq
Jinq는 개발자에게 Java로 데이터베이스 쿼리를 작성하는 쉽고 자연스러운 방법을 제공합니다. 컬렉션에 저장된 일반 Java 객체처럼 데이터베이스 데이터를 처리 할 수 있습니다. 일반적인 Java 명령을 사용하여 반복하고 필터링 할 수 있으며 모든 코드가 자동으로 최적화 된 데이터베이스 쿼리로 변환됩니다. 마지막으로 LINQ 스타일 쿼리를 Java에 사용할 수 있습니다!
JINQ 프로젝트 사이트 : http://www.jinq.org/