sololearn - ¿Hay un equivalente de indexador C#en Java?
sololearn pagina oficial (4)
Quiero hacer esto en Java. ¿Es posible?
public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}
No lo creo. AFAIK el enfoque habitual de Java para esto son public string get(int pos)
métodos public string get(int pos)
y public void set(int pos, String value)
.
No, Java no tiene nada similar a los indexadores de C # u operadores sobrecargados. Esa es la razón más probable por la cual la sintaxis de llamada de función se usa en String.charAt
, List.get
, Map, put
, etc.
No. No puede sobrecargar ningún operador en Java, incluida la indexación. (Sobrecarga de String
+
, pero eso se ha incorporado a la especificación del lenguaje).
Sólo las matrices soportan la sintaxis []
.
Por lo general, escribirías métodos en su lugar:
public String getValue(int position) {
return myData[position];
}
public void setValue(int position, String value) {
myData[position] = value;
}
Puede hacerlo directamente de la misma manera, pero puede usar el Collection framework
de la Collection framework
de Java
que proporciona el tipo de funcionalidad que desea, supongo. Como List
, Set
, etc.