当前位置: 首页 > news >正文

== 和 equals()的区别

 

package com.liaojianya.chapter1;
/**
 * This program demonstrates the difference between == and equals().
 * @author LIAO JIANYA
 * 2016年7月20日
 */
public class CompareObject
{
	public static void main(String[] args)
	{
		String s1 = new String("java");
		String s2 = new String("java");
		String s3 = s2;
		String s4 = new String("JAVA");
		//the use of ==
		if(s1 == s2)
		{
			System.out.println("s1和s2堆内存地址一样");
			
		}
		else
		{
			System.out.println("s1和s2堆内存地址不一样");
		}
		if(s2 == s3)
		{
			System.out.println("s2和s3堆内存地址一样");
		}
		else
		{
			System.out.println("s2和s3堆内存地址不一样");
		}
		
		//the use of equals()
		if(s1.equals(s2))
		{
			System.out.println("s1和s2内容一样");
		}
		else
		{
			System.out.println("s1和s2内容不一样");
		}
		if(s1.equals(s4))
		{
			System.out.println("s1和s4内容一样");
		}
		else
		{
			System.out.println("s1和s4内容不一样");
		}
	}

}

  运行结果:

s1和s2堆内存地址不一样
s2和s3堆内存地址一样
s1和s2内容一样
s1和s4内容不一样

  分析:==是用于比较两个对象的内存地址值(引用值)是否相等;equals()方法是用于比较两个对象的内容是否一致。

 

转载于:https://www.cnblogs.com/Andya/p/5688806.html

相关文章:

  • Java基本语法-----java常量
  • 开发中的对控件大小 颜色等默认状态的意识
  • 面试资料
  • Linux 常用命令(一)
  • [转载] FFMPEG之AVRational TimeBase成员理解
  • 用GNS3制作路由交换网络拓扑图
  • libevent
  • linux下历史命令history使用方法
  • matlab灰度变彩色+白平衡算法实现
  • Activityd的四种启动模式
  • 详解web.xml中元素的加载顺序
  • HDU 5773 The All-purpose Zero
  • 整理样本标签
  • OpenSSL命令---s_client
  • Wireshark设置interface 时提示“There are no interfaces on which a capture can be done ”
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • angular2 简述
  • canvas 绘制双线技巧
  • Centos6.8 使用rpm安装mysql5.7
  • CSS中外联样式表代表的含义
  • Django 博客开发教程 8 - 博客文章详情页
  • HTTP 简介
  • httpie使用详解
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascript设计模式学习之Observer(观察者)模式
  • pdf文件如何在线转换为jpg图片
  • PHP变量
  • SwizzleMethod 黑魔法
  • 如何在GitHub上创建个人博客
  • 数组大概知多少
  • 一个完整Java Web项目背后的密码
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C#)获取字符编码的类
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四)c52学习之旅-流水LED灯
  • (万字长文)Spring的核心知识尽揽其中
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .Net6使用WebSocket与前端进行通信
  • .NetCore部署微服务(二)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [] 与 [[]], -gt 与 > 的比较
  • [AIGC] Redis基础命令集详细介绍
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [AutoSAR系列] 1.3 AutoSar 架构