zoukankan      html  css  js  c++  java
  • 常量池

    java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用,比如:

      类和接口的全限定名;

      字段的名称和描述符;

      方法和名称和描述符。

    1.  Integer i1 = new Integer(1); Integer i2 = new Integer(1); i1 == i2 --->false

       Integer i3 = 1; Integer i4 = 1; i3 == i4 --->true

    2.  String s1 = new String("love"); String s2 = new String("love"); s1 == s2 --->false

       String s1 = "love" + "java"; String s2 = "lovejava"; s1 == s2 --->true

         String str1 = "love"; String str2 = "java"; String s3= s1 + s2; s1 == s3 --->false

       final String str1 = "love"; final String str2 = "java"; String s3= s1 + s2; s1 == s3 --->true (宏替换)

    java中基本类型的包装类的大部分都实现了常量池技术,这些类是Byte,Short,Integer,Long,Character,Boolean,另外两种浮点数类型的包装类则没有实现。另外Byte,Short,Integer,Long,Character这5种整型的包装类也只是在对应值小于等于127时才可使用对象池,也即对象不负责创建和管理大于127的这些类的对象。

    3.  Integer i1 = 127; Integer i2 = 127; i1 == i2 --->true

       Integer i3 = 128; Integer i4 = 128; i3 == i4 --->false

    4.  Boolean b1 = false; Boolean b2 = false; b1 == b2 --->true

    5.  Double d1 = 1.0; Double d2 = 1.0; d1 == d2 --->false

  • 相关阅读:
    java注解
    Mac窗口管理管理软件SizeUp
    mac下8080端口到80端口的转发
    mac svn的替代品CornerStone
    模板模式讲解二
    数组和集合List的相互转化
    fastjson使用示例
    模板模式讲解一
    mybatis-generator-core自动生成do、mapping、dao 代码
    maven依赖传递关系
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/6903194.html
Copyright © 2011-2022 走看看