gpt4 book ai didi

java - 如何打印已转换为对象的数组?

转载 作者:行者123 更新时间:2023-11-30 09:00:14 25 4
gpt4 key购买 nike

我有一个接受对象作为输入的记录器,这对我来说相当方便。但现在我必须记录一个类型为 int[] 的输入。我想修改该方法,以便它正确记录任何数组或 Iterable。

在 C# 中,我会这样做:

int[]data=new int[10];
object tmp=data;

.....

if (tmp is IEnumerable)
{
StringBuilder _tmp = new StringBuilder();
foreach (var i in (IEnumerable)tmp)
{
if (_tmp.Length > 0)
{
_tmp.Append(",");
}
_tmp.Append(i);
}
var r = _tmp.ToString();
}

我已经尝试检查 int[]Iterable(不是),比我尝试检查 tmp.getClass().isArray(),这有效,但现在我无法枚举该数组的成员。我需要一种适用于任何数组或对象列表的方法。

如何在 Java 中正确执行此操作?

最佳答案

您可以使用 java.lang.reflect.Array 中的方法喜欢

Object obj = new int[] { 1, 2, 3, 4 };
try {
int len = Array.getLength(obj);
for (int i = 0; i < len; i++) {
if (i != 0) {
System.out.print(", ");
}
System.out.print(Array.get(obj, i));
}
System.out.println();
} catch (IllegalArgumentException iae) {
iae.printStackTrace();
}

输出是

1, 2, 3, 4

关于java - 如何打印已转换为对象的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871069/

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