我是C ++ / C#开发人员,但我不熟悉Java。我正在尝试为基本类中的字符串数组实现setter和getter,如下所示:
private String[] values = new String[35];
public String get_val(int idx)
{
return values[idx];
}
public void set_val(int idx, String val)
{
values[idx] = val;
}
当我调用set_val
函数时,它将更新第n个字符串的值。运行如下代码后:
row.set_val(0, row.get_val(0) + "1");
row.set_val(0, row.get_val(1) + "2");
row.set_val(0, row.get_val(2) + "3");
string foo = row.get_val(0);
到string foo = row.get_val(0);
时,第0个值回到原始值。我错过了数组和Java的概念吗?这看起来很简单。
提前致谢!
答案 0 :(得分:1)
这应该可以正常编程,但我会考虑使用java内置的ArrayList结构。它是预先煮熟的java,如果你初始化大小,
private List<String> strings = new ArrayList<String>(35);
你应该得到相同的(如果没有更好的运行时性能,不需要进行任何边界检查)
private final MAX_SIZE = 35;
public String get_val(int idx)
{
if(idx<strings.size())
return strings.get(idx);
else
return null;
}
public void set_val(int idx, String val)
{
if(idx<MAX_SIZE)
strings.add(val,idx);
else
//throw an exception if that's how you really want to do it
}