20

我想在 Java 中做到这一点。是否可以?

public string this[int pos]
    {
        get
       {
            return myData[pos];
        }
        set
       {
            myData[pos] = value;
        }
    }
4

4 回答 4

30

不,您不能重载 Java 中的任何运算符,包括索引。(String重载+,但这已被纳入语言规范。)

只有数组支持[]语法。

您通常会编写方法:

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

public void setValue(int position, String value) {
    myData[position] = value;
}
于 2012-11-15T18:34:01.483 回答
3

不,Java 没有任何类似于 C# 的索引器或重载运算符的东西。String.charAt这就是函数调用语法用于、List.get、等的最可能原因Map, put

于 2012-11-15T18:33:52.923 回答
0

我不这么认为。AFAIK 通常的 Java 方法是public string get(int pos)public void set(int pos, String value)方法。

于 2012-11-15T18:36:04.883 回答
0

您可以直接以相同的方式进行操作,但您可以使用我想的类似功能Collection frameworkJava比如ListSet

于 2012-11-15T18:36:22.523 回答