zoukankan      html  css  js  c++  java
  • Java面向对象编程 -9.5

    String对象(常量)池

    对象池的主要目的是实现数据的共享处理。以String对象池为例,里面的内容主要就是为了重用,而重用的实际上就属于共享设计。 但是在java之中对象(常量)池实际上分为两种:

    • 静态常量池:指的是程序(*.class)在加载的时候会自动将此程序之中保存的字符串、普通的常量、类和方法的信息等等,全部进行分配
    • 运行时常量池:当一个程序(*.class)加载之后,里面有一些变量(比如需要用户输入的变量),这个时候提供的常量池。

    观察一个程序(静态常量池)

    public class name5 {
    	public static void main(String args[]){
    		String strA = "www.mldn.cn";
    		String strB = "www."+"mldn"+".cn";
    		System.out.println(strA == strB);//true
    	}
    }
    

    本程序之中所给出的内容全部都是常量数据(字符串的常量都是匿名对象),所以最终在程序加载的时候会自动帮助开发者处理好相应的连接。

    观察另一种情况(动态常量池)

    public class name5 {
    	public static void main(String args[]){
    		String info = "mldn";
    		String strA = "www.mldn.cn";
    		String strB = "www."+info+".cn";
    		System.out.println(strA == strB);//false
    	}
    }
    

    这个时候之所以是false,是因为程序在加载的时候并不确定info是什么内容。因为在进行字符串连接的时候info采用的是一个变量,变量的内容是可以修改的,所以它不认为最终的strB的结果就是一个所需要的最终的结果。

    所以比较两个字符串 最简单的是使用equals()方法

  • 相关阅读:
    7-3色彩平衡
    Flex 布局
    JS获取当前周
    虚树学习笔记
    当然,perl等脚本服务器是一般默认安装了,你入侵了一台主机,总不能先装配 Java 环境然后再开干吧?
    还有这种书,程序开发心理学(豆瓣)
    Codeforces Round #143 (Div. 2)
    Codeforces Round #142 (Div. 2)
    Codeforces Round #141 (Div. 2)
    2018-2019-1 20189221 书籍速读 第 1 周
  • 原文地址:https://www.cnblogs.com/sakura579/p/12511198.html
Copyright © 2011-2022 走看看