LINQ cho Java sẽ rất tuyệt, nhưng vấn đề là sự tích hợp ngôn ngữ.
Java không có bất cứ thứ gì ngắn gọn như các biểu thức lambda và chúng là một trong những nền tảng của LINQ. Tôi cho rằng họ có thể lớp hỗ trợ biểu thức truy vấn trên Java bình thường mà không có biểu thức lambda, bằng cách làm cho việc mở rộng tạo ra các lớp ẩn danh bên trong - nhưng nó sẽ khá gớm ghiếc. Bạn cũng sẽ cần cây biểu thức nếu bạn muốn làm bất cứ điều gì như LINQ to SQL.
Các ngoại lệ được kiểm tra có thể cản đường, nhưng chúng ta phải xem. Tương đương với IQueryable sẽ cần phải có một số loại ngoại lệ được kiểm tra chung - hoặc có thể nó có thể là chung trong cả loại phần tử và loại ngoại lệ ...
Dù sao, tất cả chỉ là chuyện trên trời - với những rắc rối mà cộng đồng Java đang gặp phải với việc đóng cửa, tôi nghĩ sẽ thật điên rồ nếu mong đợi bất cứ thứ gì giống như LINQ trong chính Java sớm hơn khoảng năm 2012. Tất nhiên, điều đó không có nghĩa là nó sẽ không thể thực hiện được bằng một ngôn ngữ "giống như Java". Ví dụ như Groovy đã có một số khía cạnh hữu ích.
Về phía thư viện, Hibernate đã cung cấp phiên bản "không tích hợp" của rất nhiều tính năng của LINQ to SQL. Đối với LINQ to Objects, bạn nên xem API Bộ sưu tập Google Java - rất nhiều thứ giống nhau (lọc, chiếu, v.v.). Tất nhiên, nếu không có lambdas thì việc sử dụng sẽ khó sử dụng hơn rất nhiều - nhưng nó vẫn thực sự rất tiện dụng. (Tôi sử dụng mã Bộ sưu tập của Google mọi lúc tại nơi làm việc và tôi không muốn quay lại các bộ sưu tập Java "vani".)