自己写的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思路: 分为配置.初始化.运行三个阶段如下图 ...
随机推荐
- -_-#【减少 DOM 访问】缓存已经访问过的元素
Minimize DOM Access Cache references to accessed elements 选择器查询是开销很大的方法.所以,使用选择器的次数应该越少越好,并且尽可能缓存选中的 ...
- Codeforces 14D
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const i ...
- imdisk命令行使用及配置
imdisk是一个开源的虚拟磁盘软件,集虚拟光驱,文件虚拟光驱,映射物理磁盘,映射物理内存等功能 如果使用devio--Device I/O Service,可以映射网络磁盘等. 通用于windows ...
- UVALive 5135 Mining Your Own Business 双连通分量 2011final
题意:n条隧道由一些点连接而成,其中每条隧道链接两个连接点.任意两个连接点之间最多只有一条隧道.任务就是在这些连接点中,安装尽量少的太平井和逃生装置,使得不管哪个连接点倒塌,工人都能从其他太平井逃脱, ...
- CF_402B 想法题
题目链接:http://codeforces.com/problemset/problem/402/B /**算法分析: 题意太大意,positive没注意这个问题 考察等差数列,由An=A1+(n- ...
- Spout数据源
Spout 数据源 消息源 Spout 是 Storm 的 Topology 中的消息生产者(即 Tuple 的创造者). Spout 介绍 1. Spout 的结构 Spout 是 Storm 的核 ...
- jquery ajax return值不能取得的解决方案
jQuery ajax - ajax() 方法 http://www.w3school.com.cn/jquery/ajax_ajax.asp http://www.cnblogs.com/fqw19 ...
- 团队项目·冰球模拟器——cmake 自动化构建系统的配置文件的编写
1 前言 考虑到命令行界面下编译程序并不如在 IDE 那么直观,再考虑到各位队友对 Linux 并不熟悉,如何大幅度地减轻整个项目的开发复杂度就是一个很重要的问题. 在 Linux 下有个很古老但很有 ...
- salt-minion安装脚本
#!/bin/bash cd /usr/local/src/ wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.no ...
- .net如何自定义config配置文件节点
本文转载:http://www.cnblogs.com/lori/archive/2013/04/03/2997617.html 对于小型项目来说,配置信息可以通过appSettings进行配置,而如 ...