我有2个2D数组,一个int和一个String,我希望它们一个接一个地出现,因为它们具有相同的行数。有没有办法做到这一点?我想过连接,但这需要它们是相同类型的数组,所以在这种情况下,有没有办法让我的int数组成为一个String数组?
答案 0 :(得分:1)
如果你想要一个可以同时包含String
和int
的数组,你基本上有两个选择:
将它们视为对象,所以
有效Object[][]
concatArray
。 Autoboxing会
将您的整数转换为整数。
将它们视为字符串(使用 String.valueOf(int)和 的Integer.parseInt(字符串))。
我不知道一个事实,但是猜测autoboxing是一种较便宜的操作,可以将int转换为字符串和返回。
此外,您始终可以使用instanceof
运算符找出数组中单元格的值类型;如果将值转换为String,则实际上需要解析一个值以查明它是否只是一些文本或一个数字的文本表示。
这两个考虑因素 - 一个猜测,另一个可能与你的情况无关 - 将支持使用上面的选项1.
答案 1 :(得分:0)
在连接时,只需将字符串转换为字符串。最终结果将是String类型的2D数组。
要将int连接到String,只需使用
即可int myInt = 5;
String newString = myInt + "";
它很脏,但它通常被实践,因此可识别,并且有效。
答案 2 :(得分:0)
有两种方法可以让我看到:
答案 3 :(得分:0)
我听到潜伏在后台的诅咒,说 - 首先想到的答案是:
final List<int,String> list = new List<int,String>();
然后回顾op的陈述,我们看到两个[] []提出了排序问题。看看两个好的回复我们可以做Integer.toString(int);为了获得满足op的问题定义的连接,那么排序是重要的还是平的列表,以及(再次)如何处理第二个数组?它是元组吗?如果是这样,如何“保持”行中的数据...然后我们可以List<Pair<Integer,String>> or List<Pair<String,String>>
,这似乎是我的规范解决方案。