谁能解释一下为什么可以这样做:
String s = "foo";
如果没有运算符重载(在那种情况下是“=”),这怎么可能
我有 C++ 背景,所以这解释了......
最佳答案
在这种情况下没有重载。与 C++ 不同的 java 部分是 ""的定义 - java 编译器将 ""中的任何内容转换为 java.lang.string ,因此在您的示例中是一个简单的赋值。在 C++ 中,编译器将 ""转换为 char const *,因此需要将 char const* 转换为 std::string。
关于java - = java中的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2327916/