gpt4 book ai didi

java - 如果我将一个对象放入数组中的索引 0 处,如何将那里的对象放入索引 1 处?

转载 作者:行者123 更新时间:2023-12-01 07:52:43 26 4
gpt4 key购买 nike

我正在参加初学者的 Java 类(class)。我只懂基本的Java。我们刚刚开始多态性和继承。我的问题是将对象放入数组中。我有一个十个数组 Runner对象如下。

import java.util.*;

public class Race
{

public static void main(String []args)
{

Runner r1 = new Runner("Jack Sprat", 10);
Runner r2 = new Runner("Cecil Litwack", 8);
Runner r3 = new Runner("Dina Might", 3);
Runner r4 = new Runner("Seymour Butts", 4);
Runner r5 = new Runner("Ima reject", 1 );
Runner r6 = new Runner("Ivan Earache", 9);
Runner r7 = new Runner("Ace Ventura", 6);
Runner r8 = new Runner("Joan O'Farc", 7);
Runner r9 = new Runner("Jack O'Lantern", 5);
Runner r10 = new Runner("Jim Nasium", 2);

Runner[] raceArray = new Runner[10];

raceArray[0] = r1;
raceArray[1] = r2;
raceArray[2] = r3;
raceArray[3] = r4;
raceArray[4] = r5;
raceArray[5] = r6;
raceArray[6] = r7;
raceArray[7] = r8;
raceArray[8] = r9;
raceArray[9] = r10;

假设我想将对象放置在索引 1 处进入索引0 ,索引为 0 的对象转到索引1 ?或者索引 0 处的对象从数组中删除?如果它被删除,当我将对象放置在不同的数组索引处时,如何才能使对象只是在数组中交换位置?

最佳答案

首先,您不会将对象存储到数组中,而是将对对象的引用存储在数组中。

如果您稍后设置 raceArray[0] =raceArray[1];,从现在开始,raceArray 中的第零项和第一项都将引用 r2。这意味着 r1 不再是该数组的引用。这并不一定意味着 r1 已经消失,因为其他东西仍然可以引用它。

为了交换位置,您可以使用以下代码:

Runner temp = raceArray[0];
raceArray[0] = raceArray[1];
raceArray[1] = temp;

您要做的就是创建一个 temp - 一个临时变量 - 它与索引 0 处的数组引用相同的对象,然后覆盖 索引 0 与索引 1 处的引用,最后用 temp 中的值覆盖索引 1 >.

关于java - 如果我将一个对象放入数组中的索引 0 处,如何将那里的对象放入索引 1 处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34601244/

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