Java 将数组的前两个值复制到新数组中

Java 将数组的前两个值复制到新数组中,java,arrays,string,Java,Arrays,String,我已经根据对象的一个变量将对象数组按降序排序。现在我需要获取这个数组的前两个值,并将它们放入一个新的字符串数组中。到目前为止,我所知道的如下,但我显然在某处犯了一个愚蠢的错误 public String[] teamsToProgress() { Arrays.sort(teams); String[] teamsToProgress = new String[2]; for (int i=0; i<2 ; i++) { teams[i] =

我已经根据对象的一个变量将对象数组按降序排序。现在我需要获取这个数组的前两个值,并将它们放入一个新的
字符串
数组中。到目前为止,我所知道的如下,但我显然在某处犯了一个愚蠢的错误

public String[] teamsToProgress()
{
    Arrays.sort(teams);
    String[] teamsToProgress = new String[2];
    for (int i=0; i<2 ; i++)
    {
        teams[i] = teamsToProgress[i];
    }
}
public字符串[]teamsToProgress()
{
数组。排序(团队);
字符串[]teamsToProgress=新字符串[2];

对于(int i=0;i您尝试将
String
分配给
Team
字段(此处:
teams[i]=teamsToProgress[i];
)。在分配之前,您必须将
字符串
转换为
Team
实例。

teams[i]=teamsToProgress[i];
应该反转,这没有意义。您还缺少一个return语句

public String[] teamsToProgress()
{
    Arrays.sort(teams);
    String[] teamsToProgress = new String[2];
    for (int i=0; i<2 ; i++)
    {
        teamsToProgress[i] = teams[i]; //.getSomething() ?
    }
    return teamsToProgress;
}
public字符串[]teamsToProgress()
{
数组。排序(团队);
字符串[]teamsToProgress=新字符串[2];

对于(int i=0;i,如果只是查找逻辑错误,则如下所示:


teams[i]=teamsToProgress[i];
应替换为
teamsToProgress[i]=teams[i];


我没有详细介绍所涉及的语法。但我猜这是您根据您的问题想要的。

您的问题不够清楚,因为我们仍然需要了解团队对象结构。但我猜您正在关注类似的内容

public String[] teamsToProgress(Team[] teams) //pass your sorted teams array as a param.
 {
    String[] teamsToProgress = new String[2];
    for (int i=0; i<2; i++)
    {
       teamsToProgress[i] = String.valueOf(teams[i]); //convert teams[i] to string
    }

    return teamsToProgress;// you need to return an array
 }
public String[]teamsToProgress(Team[]teams)//将已排序的teams数组作为参数传递。
{
字符串[]teamsToProgress=新字符串[2];

对于(int i=0;我甚至可以编译这段代码吗?我看不出您如何能够对团队进行排序,然后重新声明它。除了不正确的代码之外,您不需要循环。如果您使用前两个值,您可以只使用
teams[0]
teams[1]
。更易于阅读,使用起来更快understand@fdsa
Team[]teams;
在前面声明过,这可能不应该存在。我得到的编译错误是
teamsToProgress[I]
中“I”的“不兼容类型”
这是在
teams[I]中为“I”抛出编译错误“不兼容类型”
是的,因为
teamsToProgress
是一个
String
数组,
teams
是一个
Team
数组。所以我不明白你为什么要这样做,也许你想在你的团队实例上调用一些方法?如果你能编辑你的帖子,并描述你为什么以及你想要实现什么,那么回答你的问题就容易多了问题。