Arreglos y Objetos
Publicado por Clayder (10 intervenciones) el 18/10/2008 20:45:52
Hola:
Me surgio una duda con respecto a este tema. Segun lei por ahi, un arreglo tiene los mismos atributos de un objeto en Java. Sin embargo cuando quise comprobar eso me quede con algunas dudas. En el siguiente programa, tengo primero objetos de tipo Object, estos SI me permiten igualarlos, al igual como haría con un puntero y un arreglo en C, ahora, cuando lo hago con String, el compilador me bota error.
[code]
public class PruebaArreglo
{
public static void main(String args[])
{
Object o1[] = new Object[2];
o1[0] = "HOla";
o1[1] = "Mundo";
Object o2 = new Object();
o2=o1;
String s1[] = new String[2];
s1[0] = "Hola";
s1[1] = "Clayder";
String s2 = new String();
s2 = s1;
}
}
[/code]
Otra duda que tengo es el campo length de los arreglos. Por ejemplo, si tengo:
[code]
int a[] = new int[2];
int n = a.length;
[/code]
¿De donde sale ese campo length?, no lo he visto en ninguna parte de la documentacion de la API de Java. Y como es que Java reconoce el tamaño de un arreglo y el lenguaje C no puede. ¿Acaso los arreglos en java tienen una bandera que les indique el elemento final para que puedan acceder a su tamaño solo con la propiedad length? o en todo caso ¿como hicieron eso o donde puedo hallar informacion sobre ello?
Gracias de antemano.
Saludos
Me surgio una duda con respecto a este tema. Segun lei por ahi, un arreglo tiene los mismos atributos de un objeto en Java. Sin embargo cuando quise comprobar eso me quede con algunas dudas. En el siguiente programa, tengo primero objetos de tipo Object, estos SI me permiten igualarlos, al igual como haría con un puntero y un arreglo en C, ahora, cuando lo hago con String, el compilador me bota error.
[code]
public class PruebaArreglo
{
public static void main(String args[])
{
Object o1[] = new Object[2];
o1[0] = "HOla";
o1[1] = "Mundo";
Object o2 = new Object();
o2=o1;
String s1[] = new String[2];
s1[0] = "Hola";
s1[1] = "Clayder";
String s2 = new String();
s2 = s1;
}
}
[/code]
Otra duda que tengo es el campo length de los arreglos. Por ejemplo, si tengo:
[code]
int a[] = new int[2];
int n = a.length;
[/code]
¿De donde sale ese campo length?, no lo he visto en ninguna parte de la documentacion de la API de Java. Y como es que Java reconoce el tamaño de un arreglo y el lenguaje C no puede. ¿Acaso los arreglos en java tienen una bandera que les indique el elemento final para que puedan acceder a su tamaño solo con la propiedad length? o en todo caso ¿como hicieron eso o donde puedo hallar informacion sobre ello?
Gracias de antemano.
Saludos
Valora esta pregunta


0