Las matrices se implementan como objetos en Java, ¿verdad? De ser así, ¿dónde podría ver el código fuente de la clase de matriz? Me pregunto si la variable de longitud en matrices se define como una constante y si es así, por qué no está en letras mayúsculas LONGITUD para hacer que el código sea más comprensible.¿Cómo se implementan las matrices en Java?
Respuesta
Aunque las matrices son objetos en el sentido de que heredan java.lang.Object, las clases se crean dinámicamente como una característica especial del idioma. No están definidos en el código fuente.
considerar esta matriz:
MySpecialCustomObject[] array;
no hay código fuente para eso. Lo creó en código de forma dinámica.
La razón por la que la longitud está en minúsculas y un campo se trata realmente del hecho de que los estándares posteriores de codificación Java no existían en el momento en que esto se desarrolló. Si una matriz se estuviera desarrollando hoy, probablemente sería un método: getLength().
La longitud es un campo final definido en la construcción del objeto, no es una constante, por lo que algunos estándares de codificación no querrían que estuviese en mayúsculas. Sin embargo, en general, en Java, actualmente, todo se hace generalmente como una constante en mayúsculas o marcado como privado con un método getter público, incluso si es definitivo.
¿Cuál es el esquema general para generar una clase de matriz? – AFK
@ sn3twork, Básicamente array tiene todos los métodos de objeto, más una variable de longitud final pública y tiene un método de clonación pública, implementa Cloneable y Serializable (pero supongo que por razones heredadas no Iterable). Los detalles están en el JLS: http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html – Yishai
gracias por el enlace http://java.sun.com/docs/books/ jls/second_edition/html/arrays.doc.html # 11358 Encontré donde se habla sobre la definición de matrices utilizando inicializadores de matrices y expresiones de creación – AFK
Podemos decir que una matriz es un contenedor que contiene una longitud fija de datos de un solo tipo de datos. por ej.
int[] MyArray = new int[101]; // allocates memory for 101 integers, Range from 0 to 100.
y Multidimensional
String[][] names = {{"FirstName", "LastName"},{"Kaji", "Islam"},...};
y para la matriz de caracteres
char[] ch={'a','b'....};
- 1. ¿Cómo se implementan las matrices en Perl?
- 2. ¿Cómo se implementan las enumeraciones en Java?
- 3. ¿Las matrices de JavaScript realmente se implementan como matrices?
- 4. ¿Cómo se implementan las matrices asociativas en PHP?
- 5. ¿Cómo se implementan las referencias débiles?
- 6. Java: cómo funcionan las matrices
- 7. ¿Cómo se implementa la longitud en las matrices de Java?
- 8. ¿Cómo se implementan las expresiones regulares en .NET?
- 9. Mecanografía implícita de matrices que implementan interfaces
- 10. ¿Cómo se pasan las matrices?
- 11. ¿Cómo se implementan las categorías en el Objetivo C?
- 12. ¿Cómo se implementan las consolas de depuración en Python?
- 13. ¿Cómo se implementan las listas en Haskell (GHC)?
- 14. Cómo se implementan las funciones de la biblioteca en Haskell
- 15. ¿Cómo se implementan las clases en los compiladores
- 16. ¿Cómo se implementan las ventanas de chat de Facebook?
- 17. ¿Cómo se implementan los bloques try/catch?
- 18. ¿Cómo llené matrices en Java?
- 19. ¿Cómo se usan las matrices débiles?
- 20. ¿Cómo se implementan los C# Generics?
- 21. Imprimir matrices en Java
- 22. ¿Se implementan las variables de CSS en cualquier navegador moderno?
- 23. ¿Por qué las matrices en .net solo implementan IEnumerable y no IEnumerable <T>?
- 24. En caso de que las matrices Clojure sean tan rápidas como las matrices Java
- 25. ¿Por qué las matrices multidimensionales C# no implementan IEnumerable <T>?
- 26. ¿Las JVM de Linux realmente implementan las prioridades de subprocesos?
- 27. javascript internals: cómo se implementan los eventos?
- 28. ¿Cómo paso las matrices de Java a C++ usando Swig?
- 29. ¿Cómo se implementan los analizadores DOM?
- 30. ¿Cómo mezclar dos matrices en Java?
Si era una constante (como en un campo static final), todas las matrices tendrían que tener el mismo tamaño (o matrices de diferentes tamaños tendrían que tener diferentes tipos (lo que implicaría además que el tamaño de una matriz debería conocerse en tiempo de compilación)). – sepp2k
Según lo que entiendo de la respuesta de Yishai a continuación, es que la matriz se crea dinámicamente cuando se define. – AFK
punto de sepp2k es que no hay un campo de longitud global. En general, pensamos en las variables en mayúsculas como pública estática y final. Aquí la longitud es pública y final, pero no estática, y su valor es diferente por instancia de objeto, aunque nunca cambia. – Yishai