tmpString 是不可变的,尽管它没有之前的 tmpBase 行有问题)-6ren">
gpt4 book ai didi

java - 如何解决不可变的 String[]

转载 作者:行者123 更新时间:2023-12-01 06:26:42 25 4
gpt4 key购买 nike

我(想我)明白为什么我在这个方法的 tmpString = {"",...} 行处收到编译错误(表达式的非法开始)(--> tmpString 是不可变的,尽管它没有之前的 tmpBase 行有问题),但是解决这个问题最干净的方法是什么 - 也许是另一种变量类型?谢谢。

public static ArrayList<String> myMethod(String tmpWord, int tmpNum)
{
ArrayList<String> tmpReturn = new ArrayList<String>();
String tmpBase = tmpWord.substring(0,tmpWord.length()-2);
String[] tmpString = {"a","a","g","g","ya"};
switch(tmpNum)
{
case 1: tmpBase = "xx";
break;
case 2: tmpBase = "yy";
break;
case 3:
break;
default:
{
tmpBase = "-";
tmpString = {"","","","",""};
break;
}
}
for (int j=0; j<5; j++)
tmpReturn.add( (tmpBase + tmpString[j]) );
return tmpReturn;
}

最佳答案

它与不变性无关(数组不是不变的)。这个语法:

String[] array = { ... };

只能在声明数组变量时使用。

如果您想在声明数组后为数组分配新值,则需要使用:

tmpString = new String[] {"","","","",""};

关于java - 如何解决不可变的 String[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39852154/

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