【发布时间】:2014-05-14 19:10:13
【问题描述】:
我认为自己是一名中级 Java 程序员,已经在这方面工作了一年半,并且在其他语言方面有一些经验。但是,我遇到了一个我觉得需要专家帮助的问题。
据我了解,由 java 创建的数组在某种程度上存在于创建它们的位置之外,即,如果您在一个类中创建一个名为 s 的数组,而在第二个类中创建另一个名为 s 的数组,则尝试将这两个类都用作程序你会遇到它们相互覆盖的问题。
然而,这让我陷入了一个有趣的困境。如果想为无限数量的用户输入按需创建一个独特的数组怎么办。即是否可以让用户输入一个字符串值用作数组名称,或者有一个通用值,然后附加一个数字或字母。这更像是一个理论问题(还有其他方法可以完成同样的事情),但任何见解都将不胜感激。
【问题讨论】:
-
每次使用
new创建数组时,都会得到一个新数组。执行fooArray = barArray之类的操作不会创建新数组,它只会将barArray中包含的引用复制到fooArray。该引用基本上是一个地址,但复制该地址意味着两个引用都指向同一个对象。就像在卡片上写下你的地址不会复制你的房子一样;只是意味着有一种新的方法可以找到您的地址。 -
在一个类上创建的对象将不能在另一个类中使用,因为它们具有相同的名称。你能举例说明你在说什么吗?我想你误解了什么,但我现在不能说。
-
如果您发布了一个简单的、自包含的 sn-p 代码来说明您正在谈论的案例,这可能会有所帮助。否则我们只能猜测具体是什么让你绊倒了。
-
@yshavit +1 比喻,我喜欢它,方便。
标签: java arrays theory self-modifying