java判断相等
一.字符串
1.equals():比较内容,推荐
String a=new String("abc");
String b=new String("abc");
a.equals(b);
2.= = :比较地址
String c="123";
String d="123";
System.out.println(c==d); //true,在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象;
String a=new String("abc");
String b=new String("abc");
System.out.println(c==d); //false,此时a和b指向不同的对象。
= =是比较内存地址的,内存地址相等,就返回true,地址相等,值肯定也一样,地址不相等,即使值相等也会返回false,
字符串是对象类型,所以不能用简单的“==”判断。
而用equals()方法,String中重写了equals,不管地址是否相等,都只对值进行比较,值相等就返回true,不相等就返回false。两个String对象相等或内容相等都返回true
二.基本数据类型和包装类
以int和Integer为例:
java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false。
当用“==”进行比较时,jvm默认是比较数据在java堆的地址。
int i = 10;
int j = 10;
System.out.print(i == j);
Integer是对象,推荐使用equals方法进行相等比较。
Integer g = 128;
Integer h = 128;
System.out.println(g.equals(h));
Integer是int的包装类;int是基本数据类型; Integer变量必须实例化后才能使用;int变量不需要;
Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值 ;Integer的默认值是null;int的默认值是0。
三.数组
使用 equals ()方法来判断数组是否相等:Arrays.equals(ary, ary1)
import java.util.Arrays;
int[] ary = {1,2,3,4,5,6};
int[] ary1 = {1,2,3,4,5,6};
System.out.println(Arrays.equals(ary, ary1));
四.List
使用 equals ()方法或
public static boolean isEquals(List<String> list1,List<String> list2){
if(null != list1 && null != list2){
if(list1.containsAll(list2) && list2.containsAll(list1)){
return true;
}
return false;
}
return true;
}
基本数据类型用"==",引用类型用equals()。
java判断相等的更多相关文章
- 使用Java判断字符串中的中文字符数量
Java判断一个字符串str中中文的个数,经过总结,有以下几种方法(全部经过验证),可根据其原理判断在何种情况下使用哪个方法: 1. char[] c = str.toCharArray(); for ...
- Java判断回文数算法简单实现
好久没写java的代码了, 今天闲来无事写段java的代码,算是为新的一年磨磨刀,开个头,算法是Java判断回文数算法简单实现,基本思想是利用字符串对应位置比较,如果所有可能位置都满足要求,则输入的是 ...
- Java 判断操作系统类型(适用于各种操作系统)
Java 判断操作系统类型(适用于各种操作系统) 最近一段时间写一个授权的程序,需要获取很多信息来保证程序不能随意复制使用,必须经过授权才可以. 为了限制用户使用的操作系统,必须有统一的方法来获取才可 ...
- java判断字符串是否为空的方法总结
http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观 ...
- Java判断字符串是中文还是英文
在做开发的时候我们经常需要用到根据某个字符或者字符串来判断其是中文还是英文,从而做相应的处理,其实不难,大多数人们都是用到正则来判断的,下面小贝就给大家分享一下Java判断字符串是中文还是英文 推荐文 ...
- (转)java判断string变量是否是数字的六种方法小结
java判断string变量是否是数字的六种方法小结 (2012-10-17 17:00:17) 转载▼ 标签: it 分类: 转发 1.用JAVA自带的函数 public static boolea ...
- JAVA判断32位还是64位,调用不同的DLL(转)
源:JAVA判断32位还是64位,调用不同的DLL 通过获取sun.arch.data.model可判断是32还是64的JAVA 将32或者64位的DLL放不同的目录,实现自适应调用DLL Prope ...
- java判断是否为汉字
java判断是否为汉字 public static boolean isChinese(String str) { String regEx = "[\u4e00-\u9fa5]&quo ...
- java判断字符串是否回文
java判断字符串是否回文 /** * java判断字符串是否回文<br><br> * 基本思想是利用字符串首尾对应位置相比较 * * @author InJavaWeTrus ...
- java 判断用户是PC端和还是APP端登陆
java 判断用户是PC端和还是APP端登陆 public void getRequestHeader(HttpServletRequest request){ // 从浏览器获取请求头信息 Stri ...
随机推荐
- 04-SV连接设计和测试平台
1.验证一个设计的步骤: 生成输入激励,捕捉输出响应,决定对错和进度 2.连接设计和测试平台 信号连接:SystemVerilog已经扩展了传统的reg类型,可以像wire那样用来连接模块,它的新名字 ...
- PTA 1001 A+B Format
问题描述: Calculate a+b and output the sum in standard format -- that is, the digits must be separated i ...
- 服务器的公网ip 和内网ip
原文地址:https://zhidao.baidu.com/question/814783729071869532.html 服务器公网ip 可以用于域名解析ip,服务器远程登录ip,是最主要的服务器 ...
- 虚拟机出问题 Oh no,something has gone wrong! 解决方法
系统出错时ctrl+alt+F2 进入命令模式root输入密码yum update...等待输入 y...等待终于好了
- A*模板(求K短路)(POJ2449)
A*是bfs的优化,IDA*是dfs的优化 A*算法: 为启发式算法中很重要的一种,被广泛应用在最优路径求解和一些策略设计的问题中.而A*算法最为核心的部分,就在于它的一个估值函数的设计上: f(n) ...
- 最短路-A - 畅通工程续
A - 畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这 ...
- laravel封装返回json信息工具类
1.工具类可以一次写入多方多方调用,很大程度的节约开发时间得到想要的信息 这里演示一个json接口的工具类(文件定义在App\Http\Controllers\Tools)中 <?php /** ...
- 手写数字识别——利用keras高层API快速搭建并优化网络模型
在<手写数字识别——手动搭建全连接层>一文中,我们通过机器学习的基本公式构建出了一个网络模型,其实现过程毫无疑问是过于复杂了——不得不考虑诸如数据类型匹配.梯度计算.准确度的统计等问题,但 ...
- mac 复制文件路径
选中文件 ctrl + option +c 可以复制文件路径
- maven-设置aliyun远程库
maven默认的远程库下载起来非常慢,习惯改成aliyun的库. 一.修改maven配置 打开maven配置文件setting.xml,改mirror <mirrors> <mirr ...