可能是因为name和ZYName中包含了不可见字符或者空格,导致字符串比较不相等。可以尝试使用trim()方法去除字符串两端的空格再进行比较,或者使用equalsIgnoreC,具体代码怎么写
时间: 2024-03-04 07:48:19 浏览: 8
对于使用trim()方法的情况,可以这样写:
```java
String name = " name ";
String ZYName = "ZYName";
if (name.trim().equals(ZYName.trim())) {
System.out.println("两个字符串相等");
} else {
System.out.println("两个字符串不相等");
}
```
对于使用equalsIgnoreCase()方法的情况,可以这样写:
```java
String name = " name ";
String ZYName = "ZYName";
if (name.equalsIgnoreCase(ZYName)) {
System.out.println("两个字符串相等");
} else {
System.out.println("两个字符串不相等");
}
```
两个方法的区别在于,trim()方法只会去除字符串两端的空格,而equalsIgnoreCase()方法会忽略字符串的大小写。根据具体情况选择使用。
相关问题
去除字符串中左边的空格与右边的空格 “ a b “ “a b” (不能使用trim方法)
可以使用循环遍历字符串的方式,找到第一个非空格字符和最后一个非空格字符的位置,然后截取这个子串即可。具体代码如下:
```python
def remove_spaces(s):
left, right = 0, len(s) - 1
# 找到第一个非空格字符的位置
while left < len(s) and s[left] == ' ':
left += 1
# 找到最后一个非空格字符的位置
while right >= 0 and s[right] == ' ':
right -= 1
return s[left:right+1]
```
这个函数的思路是先初始化左右指针分别指向字符串的开头和结尾,然后分别找到第一个非空格字符和最后一个非空格字符的位置。具体实现是通过两个 while 循环分别从左往右和从右往左扫描字符串,直到找到第一个非空格字符和最后一个非空格字符的位置。最后返回从左指针到右指针之间的子串即可。
使用trim()方法去掉字符串前后的空格
好的,trim()方法是字符串对象的一个方法,可以去掉字符串前后的空格。示例代码如下:
```java
String str = " Hello, World! ";
String trimmedStr = str.trim();
System.out.println(trimmedStr); // 输出 "Hello, World!"
```
在这个例子中,我们定义了一个字符串变量 `str`,它包含前后空格的字符串。然后我们使用 `trim()` 方法去掉前后空格,得到一个新的字符串变量 `trimmedStr`,它不包含前后空格。最后我们输出 `trimmedStr` 的值,结果为 "Hello, World!"。