gpt4 book ai didi

java - 在java中的String数组位置分配一个新值

转载 作者:行者123 更新时间:2023-11-29 08:09:55 25 4
gpt4 key购买 nike

请在下面找到我的示例代码:

    String[] tempCrfFC = crfFC;                //crfFC is a String[] itself
for(int i = 0; i < crfFC.length; i++) {
String[] crfTok = tempCrfFC[i].split("\\s");
if(crfTok.length == 40) {
if(crfTok[39].split("/")[0].equals("O")) {
Double v = Double.parseDouble(crfTok[39].split("/")[1]);
if (v <= d && (i == 0 || prevTagged != i-1)) {
tempCrfFC[i].split("\\s")[39] = "A"; //<-------
System.out.println("val: "+tempCrfFC[i].split("\\s")[39]);
System.out.println("tempCrfFC: "+tempCrfFC[i]);
prevTagged = i;
}
}
}
}

tempCrfFC 行示例:

The  T       Th      The     null    e       he      The     null   Aaa     Aa    1       1       1       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       O       B       O       B       O       0       DT      O       O/0.892667

在标有“<-----”的行中,我希望将现有值重新分配给新值“A”。但是,在打印输出时,观察到该索引 (39) 处的值保持不变。有人可以帮我解决这个问题吗?

谢谢。

最佳答案

那是因为你的拆分没有被保留:

tempCrfFC[i].split("\\s")[39] = "A";    //<-------
System.out.println("val: "+tempCrfFC[i].split("\\s")[39]);

如果您查看 .split("\\s") 返回一个数组并且 [39] = "A" 部分将第 39 个元素设置为“A ”。但是,生成的数组不见了。然后再次进行拆分并打印第二次拆分生成的新数组的第 39 个元素。

尝试如下操作:

String[] parts = tempCrfFC[i].split("\\s");    //<-------
parts[39] = "A";
System.out.println("val: " + parts[39]);

关于java - 在java中的String数组位置分配一个新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703863/

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