知识大全 Java当中的String数据类型

Posted 常量

篇首语:对我来说,不学习,毋宁死。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java当中的String数据类型相关的知识,希望对你有一定的参考价值。

Java当中的String数据类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  java中String数据类型

  对于字符串对象来说 虽然在参数传递的时候也是引用传递 但是java虚拟机在函数内部对字符串对象进行了特殊处理 视String对象为常量(final) 所以对传进来的引用地址所引用的string对象比能直接进行修改 而是产生一个副本对其进行操作 对其进行的操作不会影响原来的值

  下面我们看一例子(sun认证试题)来证明这一点

   public class X

   public static void main (String[]args)

   string s = new string ( Hello );

   modify(s);

   System out printIn(s);

  

  

   public static void modify (String s)

   s += world! ;

  

  

  你说它会打印出什么结果?是Helloworld?可能大部分人会说是这个答案吧 哈哈结果却是Hello 为什么呢?再仔细分析一下上边所说的吧 视String对象为常量(final) 这是问题的关键!在modify()方法中传进了string对象 虽然是引用传递 上边我们说了视String对象为常量(final) 它不会修改原来地址所引用的值 而是生成一个副本对其进行操作 所以打印结果应该为Hello!下面再讲一讲java中对常量(final)是怎样处理优化的 以便更深入的理解上面的问题

  java中的final变量 java编译器是进行了优化的 每个使用了final修饰的变量的地方都不会通过连接而进行访问 比如说Test类中使用了Data类中一个final的int数字fNumber= 这时候 java编译器会将 这个常数编译到Test类的指令码或者常量池中 这样 每次Test类用到fNumber的时候 不会通过引用连接到Data类中进行读取 而是直接使 用

  我们再来举个例子说明这一点

  public class TestFinal()

  public static void main(string s[])

  System out println(FinalData date);

  

  public class FinalData()

  public static final data= ;

  

  

  运行上面的TestFinal类结果为

cha138/Article/program/Java/hx/201311/26692

相关参考

知识大全 深入了解Java的String

深入了解Java的String  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一从根本上认识ja

知识大全 不再纠结Java中的String类

不再纠结Java中的String类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb

知识大全 java语言操作Oracle数据库中的CLOB数据类型

java语言操作Oracle数据库中的CLOB数据类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 java中String的一些方法深入解析

java中String的一些方法深入解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对ja

知识大全 JAVA对象转为Java String的几种常用方法

JAVA对象转为JavaString的几种常用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Java中的String、StringBuffer和Math类

Java中的String、StringBuffer和Math类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 java.lang.String类运算符重载

java.lang.String类运算符重载  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Gi

知识大全 Java中数据类型的自动拆箱和装箱

Java中数据类型的自动拆箱和装箱  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们知道在Ja

知识大全 用Java写出一段string和stringbuffer的代码

用Java写出一段string和stringbuffer的代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 Java对String字符串对象的创建以及管理

Java对String字符串对象的创建以及管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C