【问题标题】:Array String can't be printed out properly [duplicate]无法正确打印数组字符串[重复]
【发布时间】:2014-09-20 09:05:28
【问题描述】:

我有一个字符串变量,举个例子

String s = "just\nan\nexample";

我想通过使用行空间(\n)作为分隔符将该字符串拆分为字符串数组,因此输出字符串数组将如下所示

String[] array = [just, an, example];

然后我尝试了这段代码

String[] array = s.split("\n");
System.out.println(array);

它在控制台中给了我这个输出

[Ljava.lang.String;@691aca

发生了什么事?我是不是用这个方法错了?

编辑:好的,已经回答了..这是答案之一

System.out.println(java.util.Arrays.toString(array));

但这让我对某些事情产生了疑问,我还有另一个字符串数组,我使用 bufferedreader 循环将 txt 文件中的值放入它,它可以在不使用“java.util.Arrays.toString(array )"

但是为什么当我使用我手动放置的数组(如上)或从另一个变量获取时,如果不使用“java.util.Arrays.toString(array)”,我将无法正确打印出来?

【问题讨论】:

  • @Boris 不,我太快了。所以我没有说谎,我只是错了。
  • 数组没有内置的 toString 方法
  • 还有this duplicate。可能还有一百个人。
  • 使用java.util.Arrays.toString(array)
  • 很抱歉,如果这是重复的,但我想问一些问题。我还有另一个字符串数组,我使用 bufferedreader 循环从 txt 文件中输入值,它可以在不使用“java.util.Arrays.toString(array)”的情况下无缝打印出数组列表,但是为什么当我使用我的数组时我手动输入的值(如上)或从另一个变量获取的值,如果不使用“java.util.Arrays.toString(array)”,我无法正确打印出来?

标签: java arrays regex string


【解决方案1】:

那是因为您打印了数组的地址。尝试遍历数组并像这样获取每个元素:

String[] array = s.split("\n");
for (String str : array) {
    System.out.println(str);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多