字符串文字的调用方法(Java)

时间:2019-05-07 06:25:15

标签: java string object

我知道字符串文字是对象。 根据

https://en.wikibooks.org/wiki/Java_Programming/Classes,_Objects_and_Types

  

创建对象时,也会创建对该对象的引用。 仅通过此对象引用不能直接在Java中访问该对象。此对象引用具有分配给它的类型。将对象引用作为参数传递给方法时,我们需要这种类型。

但是当我们有文字访问String方法时,我们是否违反了此规定?

例如:

System.out.println("Literal".toUpperCase());

这不是直接访问对象吗?而不是通过引用访问对象。

例如:

String x = "Literal"; 
System.out.println(x.toUpperCase());

1 个答案:

答案 0 :(得分:20)

  

这不是直接访问对象吗?而不是通过引用访问对象。

否,您仍在使用参考。作为字符串文字的表达式的值是字符串引用。它仍然不是您直接访问的对象。

在您的示例中,x的值仍然是参考,并且您的两个代码段是相同的,除了存在变量x之外。