gpt4 book ai didi

java - C++和Java中字符串的区别

转载 作者:IT老高 更新时间:2023-10-28 21:41:29 25 4
gpt4 key购买 nike

C++ 我可以做这样的事情...

String s = "abc";
char c = s[i]; // works fine...

但在 Java 中,如果我尝试这样做,则会引发错误。为什么?

java中,要实现上面的,我要做的:

s.toCharArray(); 

C++中Strings的实现与Java有什么不同?

最佳答案

In java, to achieve the above, I have to do : s.toCharArray();

不是真的。您可以使用charAt而是:

char c = s.charAt(i);

基本上,C++ 允许用户定义的运算符 - Java 不允许。所以 String 类没有公开任何类型的“索引”操作符; only 存在于数组中,而 String 不是数组。 (通常实现使用数组,但那是另一回事。)

编辑:如注释中所述,+ 运算符 是字符串的特殊情况 - 就在语言规范中。 可以[] 做同样的事情,但它不是——因为它不在语言规范中,而且 Java 不支持重载运算符,它可以'不在库代码中执行。 (例如,您不能为任何其他类赋予 + 自定义行为。)

关于java - C++和Java中字符串的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com