gpt4 book ai didi

java - 如何打印 Vector[] 的所有值

转载 作者:行者123 更新时间:2023-12-02 15:23:20 25 4
gpt4 key购买 nike

我有一个 Object[] 类型的 Vector 来存储我的数据。如何打印它的所有对象?

代码:

private static Vector<Object[]> vector = new Vector<Object[]>();


int event=0;
for(int i=0; i<10; i++){
vector.add( this.addToObject(System.currentTimeMillis(), event , "String") );
event++;
}

private Object[] addToObject(long t, int i,String s ){
Object[] o = new Object[4];
o[3] = s;
o[2] = i;
o[1] = "00000";
o[0] = t;
return o;
}

打印

public static void main(String[]args){
main m = new Main();

for(int i=0; i< m.vector.size(); i++){

}

}

我想要得到这样的东西:

1202393057117 1 OOOOO 字符串
1202393057117 2 OOOOO 字符串
1202393057118 3 OOOOO 字符串
1202393057118 4 OOOOO 字符串
1202393057118 5 OOOOO 字符串

最佳答案

约书亚·布洛赫,在 Effective Java ,建议尽可能使用 for-each 循环:

for (Object[] array : vector) {
for (Object obj : array) {
System.out.println(obj);
}
}

但是由于您使用的是固定大小为 4 的 Object[] 以及预先已知的属性集,因此强烈建议创建一个新类:

class DataHolder {
private someProperty;
private someOtherProperty;
... + setters and getters
}

并且您将拥有 dataHolder.setSomeProperty(something),而不是 array[2] = Something - 更具可读性和可维护性。

下一步是重写 toString() (再次按照 Bloch 的建议)并实现它以打印对象的整个内部状态。

然后循环将如下所示:

for (DataHolder dataHolder : vector) {
System.out.println(dataHolder);
}

关于java - 如何打印 Vector[] 的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com