2012-11-15 28 views

cevap

23

Hayır. Dizine ekleme de dahil olmak üzere Java'daki tüm operatörleri aşırı yükleyemezsiniz. (String aşırı yüklenmeler +, ancak bu dil belirtimine göre pişirilmiştir.)

Yalnızca diziler, [] sözdizimini destekler.

Genellikle yerine yöntemleri yazmak istiyorum:

public String getValue(int position) { 
    return myData[position]; 
} 

public void setValue(int position, String value) { 
    myData[position] = value; 
} 
3

Hayır, Java'nın C# dizinleyicilerine veya aşırı yüklenmiş operatörlerine benzer bir işlevi yoktur. İşlev çağrısı sözdiziminin String.charAt, List.get, Map, put ve benzeri yerlerde kullanılmasının en olası nedeni budur.

0

ben öyle düşünmüyorum. AFAIK her zamanki Java yaklaşımı public string get(int pos) ve public void set(int pos, String value) yöntemleridir.

0

Doğrudan aynı şekilde yapabilirsiniz, ancak istediğiniz gibi benzer işlevlere sahip olan Java'un Collection framework'unu kullanabilirsiniz. List, Set vb. Gibi.