如果你愿意的话,我需要“提取”多个可比数据库中的一个特定行。我知道行的索引,我只需要它的副本。我尝试过这样的事情:
masterList是我需要从中提取的多行数据。
place[k]
然而,这只是提取到地址而不是实际内容。
有一种简单的方法吗?
如果没有,我可以创建一个与masterList [i]行长度相同的空Comparable []并循环添加到它吗?请注意,我的程序并不是从知道所需行的长度开始的,因此我无法将其硬编码到程序中。
更新的代码:
Comparable[] extracted = masterList[i];
当我运行这个时,我确实得到了一个我需要的长度数组,但它是所有地址,而不是值。所以我运行了一个循环来添加值
Comparable[][] comparable = Arrays.copyOf(masterList, masterList[i].length);
然而,仍会返回地址列表。
答案 0 :(得分:3)
如果没有,我可以创建一个与masterList [i]行长度相同的空Comparable []并循环添加到它吗?
没有必要。你可以做到
Comparable[] extracted = Arrays.copyOf(masterList[i], masterList[i].length);
请注意,我的程序并不知道所需行的长度,所以我无法将其编码到程序中。
请注意,您也不需要对长度进行硬编码。
答案 1 :(得分:2)
您是否尝试过System.arraycopy?
array_key_exists
这应该是Comparable extracted[] = new Comparable[masterList[i].length]
System.arraycopy(masterList[i],0, extracted, 0, extracted.length);
中masterList [i] [j = 0到length-1]的元素的浅表副本。
请注意,如果 extracted
恰好是master list[i]
,则此处描述的两个解决方案将抛出NullPointerException 。一定要检查一下,以避免令人讨厌的运行时惊喜。
null
会很方便。这两种方法都是good discussion。
希望这有帮助!
答案 2 :(得分:0)