zoukankan      html  css  js  c++  java
  • java String类型的比对

    //20210117
    写在前面:今天写原型模式代码的时候涉及到了浅克隆和深克隆的问题,就想起了String类型貌似和这个有些关系,故去做了个实验并在此记录下来

    • 众所周知,java中“==”运算符在比对对象类型时比对的是对象的地址,而equals()方法比对的是内容
    • 所以按道理来说我在方法里创建两个相同内容的String对象,使用“==”运算符比对的时候应该报出错误,但是实验里返回的是true,去搜了资料,发现String使用了享元模式,相同内容的对象会指向同一个地址,改变之后再创新新对象
    • 实验源代码如下:
    public static void main(String[] args) {
            String s = "ABC";
            String ss = "ABC";
            System.out.println(s == ss);
            System.out.println(s.equals(ss));
            System.out.println(s);
            System.out.println(ss);
            s = "abcd";
            System.out.println(s);
            System.out.println(ss);
            System.out.println(s == ss);
            System.out.println(s.equals(ss));
        }
    
    • 输出如下:

    以上
    希望对大家有所帮助

  • 相关阅读:
    点击鼠标获得坐标位置
    广告的字一个一个的显示出来
    纯css实现下拉菜单的效果
    用css3写出的倒三角形
    MySQL(三)
    Navicat之MySQL连接(二)
    MySQL 的安装与使用(一)
    Servlet(二)
    Servlet(一)
    Linux常用命令大全
  • 原文地址:https://www.cnblogs.com/lavender-pansy/p/14288441.html
Copyright © 2011-2022 走看看