List<String>
funciona con o sin pero List<int>
no. Siempre me he preguntado sobre esto.¿<String> hace algo?
Respuesta
Las listas (y otras colecciones) pueden contener solo objetos, no tipos primitivos. Entonces puede usar List<Integer>
pero no List<int>
. String
también es un objeto, por eso funciona.
Y con respecto a la diferencia entre List
y List<String>
: la diferencia existe solo durante la compilación. En tiempo de ejecución, ambas listas son idénticas.
Gracias por eso. ¿Así que simplemente lo arroja como un tipo de objeto String? –
@CoolBeans: eso no tiene sentido. Si está usando Generics, no necesita yesos. Ese es todo el punto. El compilador insertará los moldes y la * garantía * al verificar que no hay ClassCastExceptions. Y la única manera en que * puede obtener * una ClassCastException es haciendo * un reparto. – EJP
@EJP: tienes razón. Mi comentario fue al revés. Quise decir que no deberías hacer una lista alguna = nueva ArrayList <>(); sin especificar un tipo (genérico o no). Eliminaré mi comentario. ¡¡¡Gracias!!! – CoolBeans
List<int>
no funciona porque los genéricos de Java no se ocupan de tipos primitivos: solo objetos (o subclases de los mismos, como Integer
). No es necesario que especifique el parámetro de tipo al usar una clase genérica, pero el compilador emitirá una advertencia y se le pedirá que se encargue de todo el tipo de conversión (incluido el manejo del posible ClassCastExceptions
) y de usted mismo.
- 1. ¿Application.EnableVisualStyles() hace algo?
- 2. ¿LD_INCLUDE_PATH realmente hace algo?
- 3. iOS: UIButton titleLabel: ¿hace algo?
- 4. sub eax, 0 - ¿Hace algo?
- 5. ¿Qué hace "<%:" hacer?
- 6. ¿Qué hace (1U << X)?
- 7. ¿El método init de NSObject hace algo?
- 8. ¿Cómo hace vim-pathogen algo más fácil?
- 9. ¿Qué hace <() en Bash?
- 10. Algo así como imprimir END << END; en C++?
- 11. ¿Qué hace <%: %> en ASP.NET (MVC2)?
- 12. ¿Qué hace <h:messages> en JSF?
- 13. ¿El establecimiento de objetos Java a null hace algo más?
- 14. Lo que hace que algo sea iterable en python
- 15. ie9-js - ¿tiene algo más que lo hace obsoleto?
- 16. ¿Hay algo para reemplazar las funciones <ucontext.h>?
- 17. ¿Hay algo como instanceOf (clase <?> c) en Java?
- 18. Mapeo <C-j> a algo en Vim
- 19. ¿Tiene rspec algo más específico que target.should are <6?
- 20. ¿Hay algo como `<? Php phpinfo(); ?> `en Perl?
- 21. Cadena ... <varname> lo que hace Cadena ... significa
- 22. ¿Qué hace que FSharpFunc <> sea más rápido que Func <>?
- 23. ¿Existe algo así como DbSet <T> .RemoveWhere (predicado <T>)
- 24. YUI Restablecer CSS hace <strong><em>esto no funciona</em></strong>
- 25. ¿Qué hace el operador <> en python?
- 26. hace <textarea> auto-encode inner html?
- 27. ¿Qué hace la clase ClassName <:: OtherClassName en Ruby?
- 28. Qué hace Queue <T> realmente implementar
- 29. Lo que hace <a href="#" class="view"> mean?
- 30. ¿Qué hace <mvc: annotation-driven /> do?
con o sin qué? Probablemente sea porque String es una clase e int es un tipo nativo. – Raynos
con o sin qué? ooops, 3 segundos demasiado tarde ^^ –
http://en.wikipedia.org/wiki/Generics_in_Java –