Bunu Java'da yapmak istiyorum. Mümkün mü?Java'da C# dizinleyicisi eşdeğeri var mı?
public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}
Bunu Java'da yapmak istiyorum. Mümkün mü?Java'da C# dizinleyicisi eşdeğeri var mı?
public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}
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;
}
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.
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.
Doğrudan aynı şekilde yapabilirsiniz, ancak istediğiniz gibi benzer işlevlere sahip olan Java
'un Collection framework
'unu kullanabilirsiniz. List
, Set
vb. Gibi.