概述
对于String类型来说,String重写了equals方法(比较值);但对与数组来说,因为不是类,不能像一般的类那样使用,数组本身是一个特殊的对象,其equals比较的是内存地址是否一样;
当我们想比较数组的内容是否一样,有两中方式:
1.String类中有一个构造方法 public String (char[] value)2.使用Arrays类的equals方法(比较值)(推荐)
例子:ArrayTest .java
package com.test;
import java.util.Arrays;
/*
* 比较数组的值
*
* 对于String来说,String可以重写equals方法(比较值),但对与数组来说,因为不是类,不能像一般
* 的类那样使用,数组本身是一个特殊的对象,equals比较的是内存地址是否一样;当我们想比较数组的内容
* 是否一样,有2中方式
* 1.String类中有一个构造方法 public String (char[] value)
* 2.使用Arrays类的equals方法(比较值)
*
*/
public class ArrayTest {
public static void main(String[] args) {
char[] ch1 = new char[2];
ch1[0] = 'a';
ch1[1] = 'b';
char[] ch2 = new char[2];
ch2[0] = 'a';
ch2[1] = 'b';
//数组没有重写Object的equals方法,使用Object的equals方法(比较内存地址)
System.out.println(ch1.equals(ch2));
//false
System.out.println("----------------");
String s1 = new String(ch1);
String s2 = new String(ch2);
//字符串重写Object的equals方法,使用String的equals方法(比较内存地址和值)
System.out.println(s1.equals(s2)); //true
System.out.println("----------------");
//Arrays类(帮助类)的equals方法(比较值)(推荐)
boolean result = Arrays.equals(ch1, ch2); //true
System.out.println(result);
}
}
最后
以上就是认真身影为你收集整理的10 Java中比较数组的值的全部内容,希望文章能够帮你解决10 Java中比较数组的值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复