【发布时间】:2015-11-20 22:01:54
【问题描述】:
我正在尝试了解以下代码的工作原理:
ArrayList<String> aInt = new ArrayList<String>();
Object[] bInt = null;
aInt.add("1a");
aInt.add("2b");
aInt.add("3c");
aInt.add("4d");
bInt = new String[aInt.size()];
aInt.toArray(bInt);
for(int i=0; i < bInt.length; i++){
System.out.println(bInt[i]);
}
我理解除了 aInt.toArray(bInt); 之外的所有内容。我的问题是,如果您从不使用 bInt = aInt.toString(),那么实际上如何使用它来更新 bInt?我认为 java 只通过值而不是引用传递项目,所以这让我很难过。
我确实确认 System.out.println 语句确实打印出 1a、2b、3c 和 4d。
感谢您的帮助
【问题讨论】:
-
一个对象的名字实际上是它的引用。
-
Java 只传递值,但通常传递的是对象引用。把它想象成传递一个指针。
-
你认为
toArray是做什么的?你认为输出应该是什么?为什么? -
JDev - 谢谢,我没有意识到它是如何工作的。 Azurefrog - 谢谢,从现在开始我就是这么想的! Sotirios Delimanolis - 我预计必须将 bInt 设置为 aInt 才能获取存储在 bInt 中的值。在 c++ 中,我知道你可以做这些事情,但在 Java 中,我认为你不能不实际设置一个等于另一个 AzureFrog - 我确实阅读了文档,但由于它被返回而不是设置,我对返回值的方式感到困惑存储在对象中
标签: java