【问题标题】:Converting String to array of Tokens in Java [duplicate]在Java中将字符串转换为令牌数组[重复]
【发布时间】:2020-02-12 05:56:26
【问题描述】:

我正在尝试将字符串转换为令牌数组,虽然我一直在互联网上找到类似的问题,但没有人解释如何专门将单词转换为字符串。例如,我可能会这样做:

    String a = "I am a unicorn.";
    String b[] = a.split(" ", -1);

    for (int i = 0; i < b.length; i++)
        System.out.println(b);

但是,当我运行它时,它会打印:

[Ljava.lang.String;@15db9742

[Ljava.lang.String;@15db9742

[Ljava.lang.String;@15db9742

[Ljava.lang.String;@15db9742

我在整个互联网上都找到了完全相同的代码,但我没有找到任何人解释如何用我在字符串中指定的标记填充数组。

(另外,请不要因为我的变量而对我“大喊大叫”!:) 很多时候,当我问有关 Java 的问题时,人们更喜欢用诸如“a 和 b 不是”之类的回答t 适当的变量,你应该使用更具体的词”,而不是回答我的问题。但请记住,这只是一个示例,因此你们可以了解我在说什么——我在其他所有情况下都使用了所有正确的编码规则。)

【问题讨论】:

  • 此链接可能对您有所帮助 - howtodoinjava.com/java/string/…
  • “另外,请不要因为我的变量而对我大喊大叫!”,也许你应该开始更好地命名它们,然后你会为 this 示例通知 yourself 您正在打印数组对象,而不是数组包含的单个字符串。
  • 正确的变量命名可以帮助每个阅读代码的人,这意味着您关心阅读代码以回答您的问题的人,所以无论如何,无论是在实际项目中还是在 SO 上提问时,正确的变量命名是一个好习惯。

标签: java arraylist split token tokenize


【解决方案1】:

每次尝试打印整个数组时

试试。

for (int i = 0; i < b.length; i++)
        System.out.println(b[i]);

甚至使用 for-each 循环

for (String el : b) {
    System.out.println (el);
}

还将您的变量名称更改为更有意义的名称

【讨论】:

  • 哦,我忘记了 i,这就是问题所在。哇,我在同一个问题上花了几个月的时间,谢谢。
猜你喜欢
  • 2014-01-23
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 2016-05-23
  • 1970-01-01
  • 2013-12-05
相关资源
最近更新 更多