`

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

阅读更多
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精华 String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。

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

    java原始数据类型的包装类

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

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

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

    cocos2d-X 字符串

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

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

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

    Java 包装类

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

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

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

    Java常用类讲义大全.docx

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

    包装类及常用方法简介.pdf

    这些包装类不仅允许我们把基本类型当作对象处理,还提供了丰富的功能,如类型转换、比较操作以及常量定义。 首先,我们来看Integer类,它位于java.lang包中,用于封装int类型。Integer类提供了多种构造方法,例如...

    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() ...

    第10章 常用类1

    `equals()`方法比较字符串的内容是否相等,而`compareTo()`则根据Unicode值进行比较,返回值为负、零或正,表示当前字符串小于、等于或大于另一个字符串。 10.2.4 字符串的常用方法 - `toUpperCase()`和`...

    不区分大小写:不区分大小写的字符串比较

    这个库专门处理不区分大小写的操作,它提供了`CI`数据类型,可以包装字符串并提供不区分大小写的比较方法。 例如,你可以这样使用`case-insensitive`库: ```haskell import Data.CaseInsensitive (CI, mk) import...

    17_常用API_第3天(包装类、System、Math、Arrays、大数据运算)_讲义

    包装类还支持比较操作,如equals()和compareTo(),以及自动装箱和拆箱功能,使得原始类型和对象之间可以无缝切换。 System类是Java.lang包中的一个内置类,它提供了一系列与系统相关的功能。System类中最常见的成员...

    Java工程师必会100题

    在比较基本类型的变量时,==用于比较值是否相等,equals不能直接用于基本数据类型的比较,需要转换为其对应的包装类型。在比较引用类型的变量时,==和equals都用于比较栈内存中的地址是否相等,但通常会重写equals...

    语言程序设计资料:JAVA精华.doc

    【Java编程基础与核心概念】 Java是一种广泛使用的高级编程语言,以其面向对象的特性、跨平台的兼容性和安全性而著名。...无论是字符串操作、用户输入处理,还是对象与基本类型的转换,都是Java编程中不可或缺的部分。

Global site tag (gtag.js) - Google Analytics