java - 在 Java 中使用交换两个字符串,而不使用第三个变量,并且没有任何 Java 内置 API

标签 java string replace substring swap

最近我接受了一次采访,他们要求我交换两个字符串,而不使用任何第三个变量,并且不使用任何字符串方法,如子字符串、替换或不使用 StringBuilderStringBuffer.

例如:

String str1 = "hello";
String str2 = "morning";

输出:

String str1 = "morning";
String str2 = "hello";

最佳答案

这是一个利用赋值表达式(和求值顺序)的技巧:

str2 = (new String[] { str1, (str1 = str2) })[0];

当然可以有很多变体,但就是这样。

关于java - 在 Java 中使用交换两个字符串,而不使用第三个变量,并且没有任何 Java 内置 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72098165/

相关文章:

java - 获取子字符串正则表达式java

javascript - 替换标签内的字符时如何避免编辑标签内的标签

java - 如何在 Java 中安全地用双斜杠替换单斜杠,同时保持现有的双斜杠不变?

Java临时文件多线程应用

java - 在 Tomcat 上托管的 .jsp 应用程序上存储驱动程序 JAR 的最佳位置

适合新手的 Java UI 开发

python - Python 中的变量插值

java - 项目 Play Framework 中文件夹 "tmp"的功能是什么?

java - Switch 设置为 int 参数。创建默认情况以排除字符串,这样就不会读取错误

mysql - 将 MySql 表中的现有字符串替换为新字符串