String a = b;String b = b;然后他俩相等吗?
时间: 2023-06-13 14:08:52 浏览: 95
不一定相等。在Java中,赋值操作是将右侧的值赋给左侧的变量,因此`String a = b`的意思是将变量`b`的值赋给变量`a`。而`String b = b`的意思是将变量`b`的值赋给变量`b`自身,这样做没有任何意义。因此,`a`的值可能等于`b`的值,但是`a`和`b`是不同的变量,它们所在的内存地址是不同的。如果希望`a`和`b`都指向同一个字符串对象,可以使用`String a = b;`后面再加上`b = a;`来实现。
相关问题
string a = 1 string b = 1 那么a==b吗?
在 C++ 中,a 和 b 定义为 string 类型后,a 和 b 的值都是 "1",但是 a == b 的结果是 true 还是 false 取决于你使用的比较操作符,如果使用的是 == 操作符,则 a == b 的结果为 true,因为它比较的是两个字符串的内容是否相等。但是如果使用的是 "===" 或者是 "is" 操作符,则 a == b 的结果为 false,因为这些操作符比较的是两个变量的类型和值是否完全相等。需要注意的是,C++ 中的字符串比较操作符和其他语言可能略有不同,需要根据具体的语言规范进行理解和使用。
string==string(a,b)
string==string(a,b)中的"=="是比较运算符,用于比较两个字符串是否相等。而string(a,b)是C++中的string构造函数,用于将字符数组或其他字符串类型转换为string对象。
例如,假设有两个字符数组a和b,可以使用string构造函数将它们转换为string对象,并使用"=="比较它们是否相等,如下所示:
```cpp
char a[] = "Hello";
char b[] = "World";
string str1(a);
string str2(b);
if (str1 == str2) {
cout << "str1 and str2 are equal." << endl;
} else {
cout << "str1 and str2 are not equal." << endl;
}
```
在上述代码中,str1和str2分别是由字符数组a和b构造而成的string对象。然后使用"=="比较它们是否相等。如果相等,输出"str1 and str2 are equal.",否则输出"str1 and str2 are not equal."。