我想用Java來做到這一點。可能嗎?在Java中是否有等價的C#索引器?
public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}
我想用Java來做到這一點。可能嗎?在Java中是否有等價的C#索引器?
public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}
不可以。您不能重載Java中的任何運算符,包括索引。 (String
過載+
,但這是烘焙到語言規範。)
只有陣列支持[]
語法。
你會寫一般方法,而不是:
public String getValue(int position) {
return myData[position];
}
public void setValue(int position, String value) {
myData[position] = value;
}
不,Java沒有類似於C#的索引器或重載操作符的東西。這是在String.charAt
,List.get
,Map, put
等等中使用函數調用語法的最可能的原因。
我不這麼認爲。 AFAIK通常的Java方法是public string get(int pos)
和public void set(int pos, String value)
方法。
你可以直接用相同的方法做,但你可以使用Java
的Collection framework
,它提供了類似於你想要的功能。如List
,Set
等