gpt4 book ai didi

java - stringBuilder.reverse 是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 08:37:34 25 4
gpt4 key购买 nike

我认为 revers 应该等于“tor”,但当我尝试时

String straight = stringBuilders[i].toString();
String reverse = stringBuilders[i].reverse().toString();
System.out.println("stringBuilders[i].reverse().toString() = " + stringBuilders[i].reverse().toString()
+ " reverse = " + reverse + " straight = " + straight +
" rev == str ? " + reverse.equals(straight));

我得到了这样的结果

stringBuilders[i].reverse().toString() = rot, reverse = tor, straight = tor, rev == str? false

为什么?

rev == str ? 给出输出为 false怎么会这样

stringBuilders[i].reverse().toString() = rot, reverse = tor,

最佳答案

您的第一个问题可能是 straight 使用索引 j,而其余代码使用索引 i

这是您作为 MCVE ( Minimal, Complete, and Verifiable example ) 的代码:

StringBuilder stringBuilder = new StringBuilder("tor");
String straight = stringBuilder.toString();
String reverse = stringBuilder.reverse().toString();
System.out.println("stringBuilders[i].reverse().toString() = " + stringBuilder.reverse().toString() +
" reverse = " + reverse +
" straight = " + straight +
" rev == str? " + reverse.equals(straight));

输出是:

stringBuilders[i].reverse().toString() = tor reverse = rot    straight = tor rev == str? false

那不是你显示的输出。

无论如何,你的主要问题是reverse() :

Causes this character sequence to be replaced by the reverse of the sequence.

因此,您对 reverse() 的第一次调用使 stringBuilder 具有值 rot,这也是分配给 reverse 变量。

您在 print 语句中第二次调用 reverse() 将其反转回值 tor,这就是打印的值。

关于java - stringBuilder.reverse 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37097204/

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