【发布时间】:2015-05-25 13:11:26
【问题描述】:
我正在尝试找出我的ArrayList (arrayOne) 中的特定元素。每个元素都应该是一个int[]。我试过System.out.println(arrayOne),它编译但给出一个不规则和奇怪的数字“[[I@370968]”。
我也试过System.out.println(arrayOne[0]),但它不会编译并发出错误
需要数组,但找到了 java.util.ArrayList。
给出以下代码,将 {1,12,3,13,123,2} 传递给eg:
import java.util.ArrayList;
public class arrayTest {
private ArrayList<int[]> arrayOne;
public arrayTest(int[] eg) {
int[] xy = new int[2];
arrayOne = new ArrayList<int[]>(eg.length);
for (int i = 0; i < eg.length; i++) {
int sv = String.valueOf(eg[i]).length();
if (sv == 1) {
xy[0] = 0;
xy[1] = eg[i];
arrayOne.add(xy);
}
else if (sv == 2) {
System.out.println("two digits");
// TODO add code to make xy[0] = the first
// digit of eg and xy[1] = the second digit
}
else {
System.out.println("too many digits");
// and throw error accordingly
}
System.out.println(arrayOne);
}
}
}
- 如何确定并打印出arrayOne[0]处的int数组
- 鉴于上面的代码 if (sv == 2) 并且我想将每个单独的数字拆分为一个 int[],其中 [0] 是第一个数字,[1] 是第二个数字,我将如何获得 int 值每个数字。
【问题讨论】:
-
请更改您问题的标题。这是(某种)误导:)
-
System.out.println(Arrays.toString(arrayOne));这将正确显示数组元素。
-
@Arin:不,由于
Arrays.toString()的所有重载形式,它会给出编译时错误,没有一个会以ArrayList作为参数。 -
yup @ares...只是忽略了它。我只想说 Kayaman 所说的话。+1 指出它。