String中== 和equals的区别
先看两行代码:
public class StringDemo04{
public static void main(String args[]){
String str1 = "hello" ; // 直接赋值
String str2 = new String("hello") ; // 通过new赋值
String str3 = str2 ; // 传递引用
System.out.println("str1 == str2 --> " + (str1==str2)) ; // false
System.out.println("str1 == str3 --> " + (str1==str3)) ; // false
System.out.println("str2 == str3 --> " + (str2==str3)) ; // true
}
};结果返回的是FALSE FALSE TRUE。
我们用equals的时候:
public class StringDemo05{
public static void main(String args[]){
String str1 = "hello" ; // 直接赋值
String str2 = new String("hello") ; // 通过new赋值
String str3 = str2 ; // 传递引用
System.out.println("str1 equals str2 --> " + (str1.equals(str2))) ; // true
System.out.println("str1 equals str3 --> " + (str1.equals(str3))) ; // true
System.out.println("str2 equals str3 --> " + (str2.equals(str3))) ; // true
}
};
返回 true true true
结论在String中 有两种比较方式:==和equals
前者比较的是地址值 后者才是比较的内容
String str=”hello”;栈内存存放str 堆内存存放的是 hello;
所以直接赋值可以节约空间
分享到:
相关推荐
在Java编程语言中,`equal`方法和`==`操作符都是用来比较对象之间是否相等的工具,但它们之间存在重要的差异。本文将从三个方面进行详细的对比分析:字符串的比较、非字符串对象的比较以及基本数据类型的比较。 ###...
"浅析Java中String类型中“==”与“equal”的区别" ...理解 “==” 和 “equal” 操作符的区别对于使用 Java 中的 String 类型非常重要。只有当我们正确地使用这两个操作符时,才能编写出正确的程序。
Java 中关于 == 和 equal 的区别 及其 equals() 方法重写 Java 语言是 Sun 公司的开发成果,其主要特点是可以执行强,与平台的无关性使其实用性更强。但是 Java 中的 == 与 equal 是有区别的。 == 操作符是 Java ...
Java 中的 == 和 equals() 是两个不同的比较方法,它们之间有着很大的区别。== 操作符专门用来比较两个变量的值是否相等,也就是比较变量所对应的内存中所存储的数值是否相同。用于比较两个基本类型的数据或两个引用...
fls.add(new QCls("YXDM", QCls._STRING_, QCls._F_EQUAL_, yx).getThis()); fls.add(new QCls("LQZY", QCls._STRING_, QCls._F_EQUAL_, zy).getThis()); fls.add(new QCls("SF", QCls._STRING_, QCls._F_EQUAL_, sf...
### C++中的string类 #### 引言 在C++编程语言中,`string`类是一种非常实用且功能强大的工具,它为处理文本数据提供了极大的便利。与传统的`char *`字符串相比,`string`类提供了更多的内置方法来简化字符串的...
### Java字符串方法详解 #### 一、创建并初始化字符串 ...通过以上方法,我们可以有效地处理和操作Java中的字符串。这些方法不仅在日常编程中频繁使用,也是理解和掌握Java语言基础的关键部分之一。
- 通过使用平台的默认字符集解码当前参数中的字节数组来构造新的 `String`。需要注意的是,使用默认字符集可能在处理多字节字符时导致问题。 - `public String(byte[] bytes, String charsetName)`: - 通过使用...
在Java编程语言中,`String`类是用于处理文本字符串的基本类型之一。由于字符串经常被用来存储和操作文本数据,在实际应用中,对字符串进行比较是非常常见的需求。本文将深入探讨如何在Java中比较字符串,并解释几种...
在 C# 编程语言中,`==` 和 `equals` 是两个常用的比较运算符,但它们之间有很大的区别。 堆和栈的区别 在理解 `==` 和 `equals` 之前,我们需要了解堆和栈的区别。堆是一种动态分配的内存区域,由程序员自己申请...
相比于C语言中使用 `char *` 来处理字符串的方式,`string` 类提供了更为强大和方便的功能。通过使用 `string` 类,开发者不再需要手动管理内存,也不必担心字符串长度等问题。本文将详细介绍 `string` 类的各种特性...
在Java编程语言中,`String` 类是用于表示不可变文本序列的一个重要类。本文将详细介绍 `String` 类的一些常用方法及其应用场景,并通过示例代码加深理解。 #### 1. `length()` - **功能**:返回字符串中的字符...
在C#编程语言中,字符串是极为重要的数据类型,它们用于存储和处理文本信息。C#提供了丰富的内置函数和方法来操作字符串,如截取、替换、比较等,这些功能在实际开发中极为常见且实用。 ### 字符串长度:`Len` `...
string name = "yongfa365"; string strOK = "hello,yongfa365"; HelloWord hello = new HelloWord(); string result = hello.Say(name); Assert.AreEqual(strOK, result); string name = this.TestContext....
在Java编程语言中,`==` 和 `equals()` 是两种常用的比较操作符,它们在不同情况下有着不同的含义和用途。本文将深入探讨这两者之间的差异,并通过实例代码和理论解释来帮助理解。 首先,`==` 操作符主要用于基本...
在编程领域,字符串(String)是数据处理中非常常见的一种数据类型,用于表示一系列字符。在很多情况下,我们可能需要比较两个字符串是否相等,但不考虑它们的大小写差异。这个任务在各种语言中都有相应的实现方法。...
总结来说,`std::string` 是 C++ 中处理字符串的强大工具,它不仅提供了丰富的构造方法和成员函数,而且在内存管理方面更加安全可靠。通过学习和掌握这些基本操作,开发者可以更加高效地使用 `std::string` 来完成...
### C++ STL String 常用函数详解 ...通过上述介绍,我们可以看到`std::string`类提供了非常丰富的接口来支持字符串的各种操作,包括构造、赋值、比较、查找和删除等,极大地简化了C++程序中的字符串处理工作。
在Java编程语言中,`equals`方法与`==`操作符是进行对象比较时最常用的两种方式,但它们之间存在着显著的区别。理解这些差异对于正确地处理对象比较至关重要。 ### `==` 操作符 `==`操作符主要用于比较两个基本...
本文将详细介绍 `StringUtils` 中的方法及其用途,帮助开发者更好地理解和使用该类。 #### 主要方法介绍 ##### 1. IsEmpty/IsBlank - **功能**:检查字符串是否为空或空白。 - **用途**:避免 `...