当前位置: 首页 > 知识库问答 >
问题:

StringTokenizer返回null而不是String

阴焱
2023-03-14

代码段用于获取从文本文件中提取的一行文本,将其分离为单独的标记,并将每个标记存储在数组的索引中。起初我以为问题出在文本文件上,但是直接将字符串放入编辑器并不能解决这个问题。

使用字符串,如:

带分隔符的StringTokenizer对象返回前四个标记作为正确的字符串,但其余四个标记为null。

有趣的是,另一个字符串:

“Gnollnonegeralany222taunttaunt”

String[] parameter = new String[10];
String rawTxt = "Chicken|None|Beast|Any|0|1|1|Hey Chicken!";
StringTokenizer t = new StringTokenizer(rawTxt, "|");
for (int i = 0; i < t.countTokens(); i++) {
    parameter[i] = t.nextToken();
    System.out.print(parameter[i] + " ");
}

鸡肉没有野兽

共有1个答案

裴劲
2023-03-14

不推荐使用StringTokenizer,所以应该使用String split方法,它适用于您的代码

    import java.util.Arrays;

 public class MainClass {
    public static void main(String[] args) {
    String[] parameter = new String[10];
    String rawTxt = "Chicken|None|Beast|Any|0|1|1|Hey Chicken!";
    String[] split = rawTxt.split("\\|");
    System.out.println(Arrays.toString(split));
    }

}
 类似资料:
  • 有我的密码 我怎样才能得到异常原因?在我的例子中,如果我运行gradle,从命令行安装(没有jenkins)是:错误:不兼容的类型:不能转换为boolean 但我会在jenkins作业控制台输出中看到错误

  • 问题内容: 我正在使用Oracle 11GR2,并且当varchar2字段为空时,在空字段上执行a 将显示在我的Eclipse控制台上。如何让它显示空字符串呢? 问题答案: 你的getter方法:

  • 我试图让2支球队互相比赛。当我说团队1.玩(团队2)时,我称之为;当 i 生成的数字小于 0.5 时,team2 应获胜,如果大于 0.5,则团队 1 应获胜。当团队 1 获胜时,它会正确显示为尼克斯,但当团队 2 获胜时,它会显示内存地址。我怎么能让它正确地说网是赢的,而不是team@78987neu73

  • 问题内容: 我的代码中有一个,如果地图的方法返回的是空列表而不是空值,则应避免使用空指针。java API中是否有类似的东西?我应该延长吗? 问题答案: @Jon的答案是直接处理您所要询问的好方法。 但是令我惊讶的是,您可能要实现的是“多图”;即从键到值集合的映射。如果是这种情况,那么您还应该查看Guava或Apache commons集合中的multimap类。 看着: 界面和它的实施方式中,或

  • 问题内容: 我有三张桌子: 文字:行中的文字 trigram:所有文字行的trigram text_trigram:文本行包含的三字母组,中间表 当我执行此命令时: 结果出来了,却没有我想要的结果: 这是我除了拥有的东西: 此外,我想执行以下操作: 有可能的?还是使用运算符是错误的? 问题答案: 我认为这里的困惑是您假设的值为null ,但实际上 没有匹配的行 。考虑以下简化版本: 如果没有带有的

  • 我有一个使用Spring数据的方法,JPA的findById()方法应该返回一个可选的。但是,如果指定的id找不到实体,它将返回null而不是空的可选项。 调试时,我发现op的值为null。这是一段失败的代码。我使用的是Spring数据JPA 2.0.8。释放。请帮忙