我得到了一个简单的字符串数组getter方法。问题是,该方法只返回一个元素而不是全部6个元素。 这是代码:
public String names() {
String[] strings = new String[]{
"name 1",
"name 2",
"name 3",
"name 4",
"name 5",
"name 6"
};
for (int i = 0; i < strings.length; i++) {
return strings[i];
}
return null;
}
返回的元素总是第一个..有人可以解释一下,为什么不返回整个数组?
答案 0 :(得分:1)
问题已经结束了:
for (int i = 0; i < strings.length; i++) {
return strings[i];
}
对于for循环开始时,它将i初始化为0并且i <1。你的字符串数组的长度,所以它进入循环并返回字符串[0]。
答案 1 :(得分:1)
在循环的第一次迭代中,当i
等于0
时,该方法退出执行return strings[0]
,即name1
。
如果要返回整个数组,则不需要循环,只需执行return strings
。
答案 2 :(得分:1)
因为你是第一个返回元素。你不能以这种方式返回所有抛出数组。因为当你返回它时退出方法重新调整第一个值
如果你想归还所有
然后使用以下代码。确保返回类型为String[]
。而是String
public String[] names() {
String[] strings = new String[]{
"name 1",
"name 2",
"name 3",
"name 4",
"name 5",
"name 6"
};
return strings;
}
答案 3 :(得分:0)
您想要将方法的返回类型更改为String[]
,而不是制作循环,只需return strings