我想用Java做到这一点。有可能吗?
public string this[int pos]
{
get
{
return myData[pos];
}
set
{
myData[pos] = value;
}
}
答案 0 :(得分:25)
没有。您不能使Java中的任何运算符超载,包括索引。 (String
重载+
,但这已经融入了语言规范。)
只有数组支持[]
语法。
您通常会改写方法:
public String getValue(int position) {
return myData[position];
}
public void setValue(int position, String value) {
myData[position] = value;
}
答案 1 :(得分:3)
不,Java与C#的索引器或重载运算符没有任何相似之处。这是函数调用语法在String.charAt
,List.get
,Map, put
等中使用的最可能原因。
答案 2 :(得分:0)
我不这么认为。 AFAIK常用的Java方法是public string get(int pos)
和public void set(int pos, String value)
方法。
答案 3 :(得分:0)
您可以直接以相同的方式执行,但您可以使用Collection framework
Java
List
,这类似于您想要的功能。例如Set
,{{1}}等