String类型不相等判断
时间: 2024-04-30 15:17:38 浏览: 117
在Java中,判断两个String类型的变量是否相等,应该使用equals()方法而不是"=="运算符。因为"=="运算符比较的是两个变量的引用地址,而equals()方法比较的是两个变量的值是否相等。例如:
```java
String str1 = "Hello";
String str2 = "Hello";
String str3 = new String("Hello");
System.out.println(str1 == str2); // true
System.out.println(str1 == str3); // false
System.out.println(str1.equals(str3)); // true
```
在上面的例子中,str1和str2引用的是同一个字符串对象,因此"=="运算符返回true;而str3引用的是一个新的字符串对象,所以"=="运算符返回false,但是equals()方法比较的是两个字符串的值,因此返回true。
相关问题
判断string 类型 不相等
在大多数编程语言中,判断两个字符串是否不相等可以使用 "!=" 或者 "<>" 运算符进行比较。例如,C++ 中可以这样写:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "hello";
string str2 = "world";
if (str1 != str2) {
cout << "str1 is not equal to str2" << endl;
}
return 0;
}
```
输出结果为:
```
str1 is not equal to str2
```
在 Python 中也可以用 "!=" 运算符进行比较。例如:
```python
str1 = "hello"
str2 = "world"
if str1 != str2:
print("str1 is not equal to str2")
```
输出结果为:
```
str1 is not equal to str2
```
u3d中两个string类型内容相等但是使用equals判断时确实不相等
在Unity中,两个string类型的内容相等时,使用`Equals()`方法判断应该返回true。如果返回false,有可能是因为字符串中包含了不可见字符或者空格。
你可以尝试使用`Trim()`方法去掉字符串开头和结尾的空格或者使用`Replace()`方法替换不可见字符。例如:
```
string str1 = "hello world";
string str2 = "hello world ";
if (str1.Equals(str2.Trim())) {
Debug.Log("str1 and str2 are equal");
} else {
Debug.Log("str1 and str2 are not equal");
}
```
这段代码中,`Trim()`方法会去掉`str2`字符串结尾的空格,判断结果会是两个字符串相等。
阅读全文