Java字符串String比较

原创 2018年04月17日 11:23:09

基本数据类型的比较用==, 类的对象的比较如果用==是比较的对象的地址,String是一个类,比较String对象的内容,需要用.equals方法或.contentEquals方法。

同样的,对于我们自己写的一个类,可以重载.equals方法,实现对象内容的比较。

下面的代码给出了一个例子。

public class Run {
	public static void main(String args[])
	{
		String str1 = new String("hh");
		String str2 = new String("hh");
		System.out.println("str1==str2: "+(str1==str2));
		System.out.println("str1.equals(str2): "+(str1.equals(str2)));
		System.out.println("str1.contentEquals(str2): "+(str1.contentEquals(str2)));
		Person p1 = new Person("Mike", 10);
		Person p2 = new Person("Mike", 10);
		System.out.println("\np1.equals(p2): "+(p1.equals(p2)));
	}
}

class Person {
	public String name;
	public int age;
	public Person(String n, int a)
	{
		name = n;
		age = a;
	}
	public boolean equals(Object obj)
	{
		if (this == obj)
		{
			return true;
		}
		if (obj == null)
		{
			return false;
		}
		if (obj instanceof Person)
		{
			String bn = ((Person)obj).name;
			int ba = ((Person)obj).age;
			return (bn.equals(name) && ba==age);
		}
		else
		{
			return false;
		}
	}
}

运行结果

str1==str2: false
str1.equals(str2): true
str1.contentEquals(str2): true

p1.equals(p2): true

初学JAVA简谈字符串String存储的以及字符串值的比较(==运算符以及equals())

首先,我们要谈到JAVA中字符串存储的空间,主要用到下面三块(PS:整个JAVA运行时的内存空间不止这三块,有兴趣可以自己去了解): 1.堆:存放程序运行中生成的对象等数据的区域,如String s...
  • Strike_E
  • Strike_E
  • 2015-08-01 18:35:56
  • 1242

java字符串比较原理解析

public static void main(String[] args) { String str1 = "Hello"; String str2 = "Liulei"; String...
  • qq_39375211
  • qq_39375211
  • 2017-12-06 11:55:45
  • 181

java简单的字符串大小比较——compareTo()方法

在java编程中,我们会偶尔遇到字符串大小比较的问题,compareTo()方法很简单就实现这种功能。该方法用于判断一个字符串是大于、等于还是小于另一个字符串。判断字符串大小的依据是根据它们在字典中的...
  • Evan123mg
  • Evan123mg
  • 2015-06-22 19:50:59
  • 20254

Java中字符串比较

熟悉C++的人对于两个字符串比较的代码一定很了解: (string1==string2) 但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false Java中必须使用string1....
  • ecitnet
  • ecitnet
  • 2007-09-20 11:19:00
  • 4610

java字符串实验题目

  • 2010年06月15日 12:41
  • 721B
  • 下载

java语言将一个字符串集合按GBK编码(简体中文按拼音顺序)排序

import java.io.UnsupportedEncodingException; import java.util.List; public class Tool {  /**   *...
  • Northridgerecluse
  • Northridgerecluse
  • 2014-11-03 14:18:58
  • 1376

java中的字符串变量的比较

关于java String类的一些理解
  • AboyL
  • AboyL
  • 2016-07-29 01:10:30
  • 2313

java String字符串中 ==和equal区别

public class Test{ public static void main(String[] args){ String s1="accp"; String s...
  • vallenlsl
  • vallenlsl
  • 2016-05-11 15:31:12
  • 1722

Java 比较字符串之间大小

LZ-Says:心态调整好~啥事儿都得开开心心的~ 前言公司让实现一个自动清除1小时内数据,SQL不熟悉,无奈之下,只能本地DB存储当前时间+小时去和当前时间进行比对。折腾好半天,突然想到Java提供...
  • u012400885
  • u012400885
  • 2017-03-28 23:44:14
  • 3328

Java 字符串忽略大小写比较

/** * *Summary: 忽略大小写比较两个字符串 * ignoreCaseEquals() * @param str1 * @param str2 * @return */...
  • liu22985342
  • liu22985342
  • 2014-06-03 14:54:44
  • 16875
收藏助手
不良信息举报
您举报文章:Java字符串String比较
举报原因:
原因补充:

(最多只允许输入30个字)