== equals是两种字符串的方式

区别

== 是比较两个对象的引用地址值

equals是比较两个对象的具体内容

示例

package com.oop.demo06;

public class Demo01 {
public static void main(String[] args) {
String s1 = "yyll"; // 直接赋值方式
String s2 = "yyll";
String s3 = new String("yyll"); // 实例化String类方式
String s4 = new String("yyll");
String s5 = s3; // == 比较的是引用的地址值
// s1 == s2一定要加括号!!!
// 如果不加括号 表达式的值为 "s1 == s2 ==> :yyll" == "yyll" 值为false
System.out.println("s1 == s2 ==> :" + (s1 == s2));
System.out.println("s1 == s3 ==> :" + (s1 == s3));
System.out.println("s3 == s4 ==> :" + (s3 == s4));
System.out.println("s3 == s5 ==> :" + (s3 == s5)); System.out.println("==================================");
// equals比较的是具体内容
System.out.println("s1.equals(s2) ==> :" + (s1.equals(s2)));
System.out.println("s1.equals(s3) ==> :" + (s1.equals(s3)));
System.out.println("s1.equals(s4) ==> :" + (s1.equals(s4)));
System.out.println("s1.equals(s5) ==> :" + (s1.equals(s5)));
}
}

测试结果


内存图

小结

  1. 直接赋值方式:创建的对象存放在字符串对象池里 如果再创建一个一模一样的 不会再创建
  2. 实例化方式: 每次创建都会分配一个新的内存空间出来

== 和 equals区别的更多相关文章

  1. 黑马程序员——JAVA基础之 == 和equals区别

    java中 == 和equals区别: java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolea ...

  2. JAVA基础之——三大特征、接口和抽象类区别、重载和重写区别、==和equals区别、JAVA自动装箱和拆箱

    1 java三大特征 1)封装:即class,把一类实体定义成类,该类有变量和方法. 2)继承:从已有的父类中派生出子类,子类实现父类的抽象方法. 3)多态:通过父类对象可以引用不同的子类,从而实现不 ...

  3. Java中的 "==" 和 "equals" 区别

    分析 "==" 和 "equals" 区别的时候先了解一下Java的内存. Java内存 “==” 和  “equals” 区别” “==”: “==”比较的是 ...

  4. ==,=和equals()区别

    equals和=,==的区别   一. ==和equals的区别 1. ==是运算符 2. equals是String对象的方法 一般有两种类型的比较 1. 基本数据类型的比较 2. 引用对象的比较 ...

  5. hashCode() 和equals() 区别和作用(转)

    出处:https://www.jianshu.com/p/5a7f5f786b75 本章的内容主要解决下面几个问题: 1 equals() 的作用是什么? 2 equals() 与 == 的区别是什么 ...

  6. ==和equals区别

    java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean    他们之间的比较,应用双等号( ...

  7. java中==和equals区别

    主要是使用String时候的区别! 一.java当中的数据类型和“==”的含义 基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,bool ...

  8. “==”和Equals区别

    相信很多朋友在面对,对象判等时经常会犹豫是用“==”还是Equals呢?有时候发现两者得到的结果相同,但有时候有不同, 究竟在什么情况下"==" 会相等,什么情况下Equals会不 ...

  9. == 与 equals区别(HashCode方法)

    1:==分析 1.2:基本类型比较 判断基本类型的数值是不是相等 1.3:对象类型比较 判断两个引用是不是指向同一个对象,即内存地址是不是相等. 2:equals分析 来判断对象内容是不是相等,一般有 ...

  10. C#基础之==(双等于号)与equals()区别

    C#中Equals和= =比较 这两种方式也是大家在日常编码工作当中用的比较多的判断方式.之前在使用的时候也没太关注两者在比较不同类型的时候存在哪些区别. 今天就和大家一起深入了解一下其中区别 一.值 ...

随机推荐

  1. bootStrap模态框与select2合用时input不能获取焦点、模态框内部滑动,select选中跳转

    bootStrap模态框与select2合用时input不能获取焦点 在bootstrap的模态框里使用select2插件,会导致select2里的input输入框没有办法获得焦点,没有办法输入. 把 ...

  2. ☕【Java技术指南】「TestNG专题」单元测试框架之TestNG使用教程指南(上)

    TestNG介绍 TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便. 详细使用说明请参考官方链接:https://testng ...

  3. ElasticSearch之配置文件详解

    ################################### Cluster ################################### #定义集群名称,默认是elasticse ...

  4. springcloud <zuul2.0静态配置>

    server: port: 9006 spring: application: name: cloud-zuul-wangbiao # zipkin: # base-url: http://local ...

  5. 微信小程序的button按钮设置宽度无效

    亲,你是不是也遇到了微信小程序的button按钮设置宽度无效.让我来告诉你怎么弄 方法1. 样式中加入!important,即:width: 100% !important; wxss代码示例 1 2 ...

  6. Learning to Compare: Relation Network for Few-Shot Learning 论文笔记

    主要原理: 和Siamese Neural Networks一样,将分类问题转换成两个输入的相似性问题. 和Siamese Neural Networks不同的是: Relation Network中 ...

  7. js 中连续的 3 个点 three dots (...) in javascript

    这个叫扩展运算符 https://dev.to/sagar/three-dots---in-javascript-26ci 5 种用法 1 function myFunc(...[x, y, z]) ...

  8. openresty HTTP status constants nginx api for lua

    https://github.com/openresty/lua-nginx-module context: init_by_lua, set_by_lua, rewrite_by_lua, acce ...

  9. netty系列之:搭建HTTP上传文件服务器

    目录 简介 GET方法上传数据 POST方法上传数据 POST方法上传文件 总结 简介 上一篇的文章中,我们讲到了如何从HTTP服务器中下载文件,和搭建下载文件服务器应该注意的问题,使用的GET方法. ...

  10. 20210826 Lighthouse,Miner,Lyk Love painting,Revive

    考场 T1 这不裸的容斥 T2 这不裸的欧拉路,先从奇数度点开始走,走不了就传送 T3 什么玩意,暴力都不会 T4 点分树??? 仔细想了一波,发现 T1 T2 都好做,T3 二分答案后可以暴力贪心, ...