【发布时间】:2012-02-05 03:54:00
【问题描述】:
我是 Java 新手,但了解 C++。
字符串 foo;
当我这样做时 if(foo.charAt(i) == 'a')
'a' 是如何引用的?
而敌人 foo.ChaAt('a') 如何返回引用?当我调试时它看起来就像'a'?
这些是指针吗?我是不是太醉了?
如果它们返回值,它们会是什么样子?
【问题讨论】:
-
您需要提供更多关于您正在做什么的背景信息?
foo是什么?你剩下的代码是什么?你能指望什么?你实际上得到了什么? -
@Ernest Friedman-Hill:当然,但他提到他是 Java 新手,所以我 +1 的答案提到了 “自动装箱” 这个词,因为这可能令人难以置信令人困惑。比如说, Character[] array = { "a".charAt(0) } 将编译良好并将 reference 放入数组中。哦,我知道(我从上个世纪开始就有我的 SCJP),我知道,它是一个由 charAt 返回的 char。但是,您不会将基元放入数组中。所以这里出现了自动装箱来迷惑新手; )
标签: java pointers pass-by-reference