zoukankan      html  css  js  c++  java
  • java基础---->string字面量的使用

      这里简单的理解一下java中关于string字面量的知识,关于字节码可以使用java自带的javap工具查看。

    string字面量

    一、直接贴出测试的代码

    A string literal always refers to the same instance of class String.

    package com.linux.huhx.stringTest;
    /**
     * Created by huhx on 2017-05-12.
     */
    class Test {
        public static void main(String[] args) {
            String hello = "Hello", lo = "lo";
            System.out.print((hello == "Hello") + " ");
            System.out.print((Other.hello == hello) + " ");
            System.out.print((com.linux.huhx.Other.hello == hello) + " "); // 这个和上面的Other在不同的包内。内容一样
            System.out.print((hello == ("Hel" + "lo")) + " ");
            System.out.print((hello == ("Hel" + lo)) + " "); // false
            System.out.print((hello == ("Hel" + lo).intern()) + " ");
            System.out.println(hello == new String("hello")); // false
        }
    }
    
    class Other {
        static String hello = "Hello";
    }
    
    // true true true true false true false

    二、关于String的intern方法官方文档的解释

    // 一个字符串池,最初是空的,是由类字符串私有维护的。
    1、A pool of strings, initially empty, is maintained privately by the class String. 
    
    // 如果常量池中已经有了这个字符串,那么直接返回常量池中它的引用,如果没有,那就将它的引用保存一份到字符串常量池,然后直接返回这个引用。
    2、When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object) method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned. 
    
    3、It follows that for any two strings s and t, s.intern() == t.intern() is true if and only if s.equals(t) is true. 

    友情链接

  • 相关阅读:
    HTML5 重力感应效果,实现摇一摇效果
    WEB 移动端 CSS3动画性能 优化
    jquery 插件封装模板
    textarea 提交到数据库的内容,输出到 html 中显示正常的格式
    js根据银行卡号判断属于哪个银行,并返回银行缩写及银行卡类型
    微信小程序如何引用iconfont图标
    nodejs: express basic
    javascript设计模式:适配器模式
    javascript设计模式:装饰者模式
    javascript设计模式:代理模式
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusejavastring1.html
Copyright © 2011-2022 走看看