自己写的demo---equals()跟==的区别
package equals;
/*public class equals {
//基本数据类型跟引用数据类型(复合数据类型),
//在引用数据类型中equals方法被重写,一般用来比较内存地址
public static void main(String args[])
{
String a="zengzhiwei";
String b="zengzhiwei";//指向同一个引用
if(a==b)//比较内存地址
{
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
if(a.equals(b))//比较值
{
System.out.println("a equals b");
}
else{
System.out.println("a not equals b");
}
}
*//**
* a==b
a equals b
*//*
}*/
/*public class equals{
public static void main(String args[])
{
String a="zengzhiwei";
String b=new String("zengzhiwei");
if(a==b)//比较内存地址
{
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
if(a.equals(b))//比较值
{
System.out.println("a equals b");
}
else{
System.out.println("a not equals b");
}
}
*//**
* a!=b
a equals b
*//*
}*/
//对于复合型数据,如果没有覆盖(重写)equals()方法的话还是是比较的“内存地址”
public class equals{
public static void main(String args[])
{
String a="zengzhiwei";
String b=new String("zengzhiwei");
b.intern();//检查字符串池里是否存在"zengzhiwei"这么一个字符串,如果存在,就返回池里的字符串;
//如果不存在,该方法会 把"zengzhiwei"添加到字符串池中,然后再返回它的引用。
if(a==b)//比较内存地
{
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
if(a.equals(b))//比较值
{
System.out.println("a equals b");
}
else{
System.out.println("a not equals b");
}
}
/***
* a!=b
a equals b
但是在
http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html#undefined
中是:说什么内存缓冲池。可是我见不到这种效果
s1 == s2
s1 equals s2
*/
}
还有有几点疑惑的东西:
1.怎么我用了intern()之后还是 a!=b;
2.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
自己写的demo---equals()跟==的区别的更多相关文章
- equals和==的区别 (Java基础)
1. == 是一个运算符.2.Equals则是string对象的方法,可以.(点)出来. 我们比较无非就是这两种 1.基本数据类型比较 2.引用对象比较 1.基本数据类型比较 ==和Equals都比较 ...
- java equals和==的区别
大概说equals和==都比较的是什么: 1. boolean tem = a == b; 首先==比较的肯定是地址,从堆栈的角度说也就是说==比较的是栈上面的内容.因为栈是用来存放地址或是java中 ...
- java中equals和==的区别 (转)
java中equals和==的区别 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引 ...
- 【转】Java中equals和==的区别
[转]Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boole ...
- C#中 Equals和= =的区别
C#中 Equals和= =的区别 前言:最近感觉技术进步实在是太慢,一直被游戏缠身不能自拔哈哈,但是游戏打多了真的是感觉整个人浮躁的不行,所以我现在要去游戏多写代码多看书,今天在博客园中看到一个前辈 ...
- Java 中 Equals和==的区别(转)
另外一篇参考: https://blog.csdn.net/striverli/article/details/52997927 在谈论equals和==的区别前,我们先简单介绍一下JVM中内存分配的 ...
- [转] equals和==的区别小结
==: == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象 ...
- equals和==的区别小结
==: == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象 ...
- ==与equals()区别
equals和==的区别? 经常被简单的理解为equals方法用来比较两个对象是否相同, 而==比较运算符用来比较两个基本数据类型的数值是否相同. 这样的理解无可厚非,但还要透过简单看看本质,才会更清 ...
- 手写Spring+demo+思路
我在学习Spring的时候,感觉Spring是很难的,通过学习后,发现Spring没有那么难,只有你去学习了,你才会发现,你才会进步 1.手写Spring思路: 分为配置.初始化.运行三个阶段如下图 ...
随机推荐
- -_-#【Cookie】缩小 Cookie
Reduce Cookie Size Cookie 是个很有趣的话题.根据 RFC 2109 的描述,每个客户端最多保持 300 个 Cookie,针对每个域名最多 20 个 Cookie (实际上多 ...
- QT无法定位入口点QtCore4.dll(万恶的matlab啊)
今天安装QT, 参考: http://www.qtcn.org/bbs/simple/?t53333.html 遇到问题 发现怎么更matlab有关了.果断把系统环境变量改一下:放到了最前面 呵呵,行 ...
- 简单实例一步一步帮你搞清楚MVC3中的路由以及区域
我们都知道MVC 3 程序的所有请求都是先经过路由解析然后分配到特定的Controller 以及 Action 中的,为什么这些知识讲完了Controller Action Model 后再讲呢?这个 ...
- ACM2030_机内码
/* 汉字统计 问题说明 统计给定文本文件中汉字的个数. 输入 输入文件首先包含一个整数Ñ,表示测试实例的个数,然后是Ñ段文本. 产量 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出 ...
- UVa11584 - Partitioning by Palindromes(区间DP)
题目大意 给定一个小写字母组成的字符串S,你的任务是划分成尽量少的回文串 题解 方程就是dp[j]=min(dp[i-1]+1)(i<=j,s[i..j]是回文串) 代码: #include&l ...
- ural 1091. Tmutarakan Exams 和 codeforces 295 B. Greg and Graph
ural 1091 题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1091 题意是从1到n的集合里选出k个数,使得这些数满足gcd大于1 ...
- MSSQL数字时间(timestamp)转换为DATETIME
很简单: , CAST('1970-01-01 00:00:00' AS datetime))
- 学习微信小程序之css13关于盒子外边距的合并
- spring boot 数据库连接池配置
HikariCP 连接池配置: http://stackoverflow.com/questions/29650501/hikaricp-starts-when-mvn-spring-bootrun- ...
- cocos2d-x学习笔记
转自:http://blog.csdn.net/we000636/article/details/8263503 接受触屏事件的优先级是值越小,响应触屏事件的优先级越高 Z值越大,越外面 JNI:允许 ...