`

不同类型的对象比较不相等(字符串与包装类比较)

阅读更多
public class LongCompareStringTest {
	public static void main(String[] args) {
		Long data = 0l;
		
		System.out.println(data.toString());
		
		if ("0".equals(data)) { // 得到false1
			System.out.println("true1");
		} else {
			System.out.println("false1");
		}
		
		if (0l == data) { // 得到true2
			System.out.println("true2");
		} else {
			System.out.println("false2");
		}
	}
}



调用equals方法时,首先判断实例类型,不同实例,直接返回false
String#equals
public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String) anObject;
            int n = value.length;
            if (n == anotherString.value.length) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                            return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }

分享到:
评论

相关推荐

    Java字符串类型转换

    Java提供了丰富的API来支持不同类型的字符串转换,包括但不限于从字符数组、基本数据类型、对象到字符串的转换,以及字符串与其他类型如整型、浮点型等之间的相互转换。下面将详细介绍这些转换方法。 #### 一、字符...

    JAVA精华 String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。

    - `equalsIgnoreCase(String anotherString)`:忽略大小写比较两个字符串是否相等。 - `indexOf(int ch)`:返回指定字符在字符串中首次出现的位置。 - `substring(int beginIndex)`:返回从`beginIndex`开始到...

    java原始数据类型的包装类

    - 包装类提供了与原始类型相比较的方法,如`equals()`、`compareTo()`,可用于对象间的比较。 5. **转换方法**: - `parseInt()`, `parseFloat()`, `parseLong()`等静态方法可以将字符串转换为对应的数值类型。 ...

    一篇文章快速搞懂Java中的字符串与包装类

    使用`equals()`或`==`可以比较两个字符串的内容是否相等,但要注意`==`比较的是对象的引用,而`equals()`比较的是内容。`replace()`方法用于替换字符串中的特定字符或子串,`split()`方法可以将字符串按照指定分隔符...

    JAVA字符串池和字符对象[参照].pdf

    对于其他基本类型(如Integer)的包装类,从JDK 5.0开始也有了类似的优化。当创建相同值的Integer对象时,如果数值在-128到127之间,会从对象池中获取,否则也会创建新的对象。所以在示例中,`i1`和`i2`相等,而`i2`...

    cocos2d-X 字符串

    - `CCString` 是一个基于`std::string`的包装类,提供了许多便捷的方法,如格式化输出、比较、拼接等。 - 它可以和`std::string`相互转换,方便在cocos2d-X和C++标准库之间进行字符串操作。 - `CCString`对象通常...

    java处理字符和字符串课件

    - **概念**:有时需要将`char`类型作为对象来处理,这时就需要使用`Character`类,它是`char`类型的包装类。 - **特点**: - `Character`对象包含一个`char`类型的字段。 - `Character`类提供了一系列静态方法来...

    【Java基础笔记】包装类.docx

    总结,Java的包装类是面向对象编程的重要组成部分,它们提供了基本数据类型与对象之间的桥梁,使得我们可以灵活地在两者之间进行转换,并在需要对象的地方使用基本数据类型。通过理解包装类及其方法,开发者能够更好...

    Java 包装类

    Java包装类是Java编程语言中的一个关键特性,主要用于将基本数据类型(如int、char、boolean等)与对象之间进行转换。这是因为Java的API库中许多类和方法都设计为接收或返回对象,而基本类型不是对象。为了解决这个...

    JAVA中实现“相等”比较的深入分析.pdf

    此外,Java的equals()方法在不同类中有不同的实现,比如String类就重写了equals()方法,使得字符串比较不再是简单的引用比较,而是基于字符串的内容来比较。这种行为上的差异,正是Java语言灵活性和强大功能的体现。...

    java字符串和数组基础共21页.pdf.zip

    在Java中,数组是对象,可以存储基本类型(如int、double)的包装类实例,也可以存储自定义对象。声明数组时,我们需要指定元素类型和数组的大小,如`int[] numbers = new int[5]`。数组的索引从0开始,可以使用`...

    Java常用类讲义大全.docx

    本文主要讲解Java中常用的类,包括字符串类String、StringBuffer、基本类型对应的8个包装类、日期相关类、数字相关类、Random类和Enum类。下面是对每个类的详细解释: 一、String类 String类是不可变类,也就是说...

    java 包装类发给的发广告豆干

    包装类解决了Java语言中基本类型与对象之间转换的不便,使得基本类型的数据可以像对象一样进行操作。每个基本数据类型都有一个对应的包装类,这些包装类都位于`java.lang`包中。 1. 包装类与基本数据类型的对应关系...

    毕向东Java笔记(四)String类,包装类1

    - `compareTo(String anotherString)`: 自然顺序比较字符串,返回整数值,表示当前字符串与参数字符串的相对顺序。 在实际编程中,这些方法经常被用来处理和操作字符串,比如查找、替换、分割、比较等。了解并熟练...

    JAVA2程序设计基础 陈国君 陈磊 陈锡祯 刘洋3

    在本章节中,作者着重讲解了字符串处理这一核心主题,包括String类、StringBuffer类、字符串的比较以及基本数据类型的包装类。 第六章的焦点在于Java中的字符串处理,这是任何编程语言中不可或缺的一部分。Java不同...

    第11章 常用类1

    字符串是Java编程中不可或缺的一部分,本章主要讨论的是Java中的常用类,特别是包装类和字符串类`String`。首先,我们需要理解包装类(Wrapper Class)在Java中的作用和重要性。 包装类是Java为基本数据类型提供的...

    Java 常用类 的介绍

    包装类是Java为每种基本数据类型提供的对应类,如Integer、Double等,它们允许基本类型与对象之间进行转换,并提供了额外的功能,如比较、格式化等。 Math类包含各种数学运算函数,如求平方根、绝对值、最大值、...

    JAVA api总结

    本文将对 JAVA API 进行总结,包括 Object、字符串相关、正则表达式相关、包装类、大数字对象、数字工具类、日期相关、集合等方面的知识点。 一、Object 类 * equals() 方法:比较两个对象是否相等 * toString() ...

Global site tag (gtag.js) - Google Analytics