2012-06-04 13 views
10

Duplicar posible:
What is the Java equivalent for LINQ?¿Hay un equivalente Java para LINQ?

Existen numerosas preguntas preguntando si hay un equivalente Java para LINQ. Pero la mayoría de ellos están especificando incorrectamente que no hay nada.

+2

'la mayoría de ellos están especificando incorrectamente que existe nothing' - entonces ¿por qué estás haciendo la pregunta si usted está tan seguro de que son" especificando incorrectamente que no hay nada "? – Tudor

+0

¿Qué estás tratando de hacer aquí? Primero, hace una pregunta en la que dice que las respuestas a otras preguntas similares son incorrectas y luego se responde a sí mismo al vincular un proyecto. ¿Es algo en lo que estás involucrado y quieres comercializar o qué? – Fredrik

+2

Vengo de un fondo .NET y estoy usando esta biblioteca. Cuando investigaba algo así, todo lo que veía era "No, no hay nada". Por lo tanto, es para otros los que deben usar Java para un proyecto. – Scooterville

Respuesta

20

Esta biblioteca proporciona una API completa LINQ: https://github.com/nicholas22/jpropel-light

Lo hace con construcciones de estilo funcional y que también utiliza ejecución diferida.

// select names starting with j, using LINQ-style statements 
new String[] { "james", "john", "john", "eddie" }.where(startsWith("j")).distinct().all(println()); 
+8

Sin lambdas, sin cigarro. La capacidad de tomar _expressions_, y descomponerlos en sus componentes, y traducirlos en una expresión SQL para consultas jerárquicas complejas todavía falta por completo. – DaveMorganTexas

+6

@DaveMorganTexas LINQ-to-SQL! = LINQ. –

+0

@EvanPlaice - la terminología apropiada sería 'query expression', no' SQL expression'. Si Dave pudiera hacer ese reemplazo, su comentario sería más universalmente aplicable, en lugar de solo en el ámbito de SQL –

4

Otro que lo he intentado yo es jaque: http://code.google.com/p/jaque/

+0

¿Está actualizado? Dice que usa cierres de Java 7. No hay cierres en JDK 7 aunque ... – Scooterville

+1

Sí, eso es raro. Pero tiene los métodos habituales 'where',' select', etc. – Tudor

Cuestiones relacionadas