如何在Java中不使用第三个变量的情况下交换两个字符串?

交换两个字符串(例如s1和s2)的内容而不使用第三个字符串。

  • 首先,使用连接运算符“ +”连接给定的两个字符串,并将其存储在s1中(第一个字符串)。

s1 = s1+s2;
  • String类的substring方法用于此方法,该方法具有两个变体,并返回作为该字符串的子字符串的新字符串。子字符串以指定索引处的字符开头,并延伸到该字符串的末尾,或者直到endIndex – 1(如果提供了第二个参数)。

    现在,使用String类的substring()方法将s1的值存储在s2中,反之亦然。

s2 = s1.substring(0,i);
s1 = s1.substring(i);

示例

public class Sample {
   public static void main(String args[]){
      String s1 = "tutorials";
      String s2 = "point";
      System.out.println("交换之前s1的值:"+s1);
      System.out.println("交换之前s2的值:"+s2);
      int i = s1.length();
      s1 = s1+s2;
      s2 = s1.substring(0,i);
      s1 = s1.substring(i);
      System.out.println("交换后s1的值:"+s1);
      System.out.println("交换后s2的值:"+s2);
   }
}

输出结果

交换之前s1的值:tutorials
交换之前s2的值:point
交换后s1的值:point
交换后s2的值:tutorials