您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

交换原语的Java方法

交换原语的Java方法

你无法创建方法交换,因此在调用swap(x,y)x和y之后将被交换。你可以通过交换可变内容内容¹来创建此类方法,但这不会更改其对象标识,因此你无法为此定义通用方法

但是,你可以编写一种方法来交换数组或列表中的两个项目(如果需要的话)。

¹例如,你可以创建一个包含两个列表的交换方法,执行该方法后,列表x将具有列表y的先前内容,列表y将具有列表x的先前内容

认为这是最接近简单交换的方法,但是它没有简单的用法模式:

int swap(int a, int b) {  // usage: y = swap(x, x=y);
   return a;
}

y = swap(x, x=y);

它依赖于以下事实:x将传递到swap之前y被分配给x,然后x返回并分配给y

你可以使其通用并交换任意数量的相同类型的对象:

<T> T swap(T... args) {   // usage: z = swap(a, a=b, b=c, ... y=z);
    return args[0];
}

c = swap(a, a=b, b=c)
java 2022/1/1 18:19:20 有440人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶