【问题标题】:String to String Array Java字符串到字符串数组 Java
【发布时间】:2014-04-21 18:40:12
【问题描述】:

我有一个大问题。我刚刚尝试搜索解决方案,但我没有找到任何解决方案。我有这个代码

public static String getString() throws IOException {

    String content = null;
    File folder = new File("C:\\Soluzioni.txt");

    content = FileUtils.readFileToString(folder) + "\n";
    String remainingString = content.substring(content.indexOf("["),
            content.lastIndexOf("]") + 1);
    System.out.println(remainingString);
    return remainingString;

}

这没关系。 (为了清楚起见)

OUTPUT :[40,-13,-6,-7,-4] [28,-40,45,-29,37] [-43,19,-24,-9,-45] [26,-41,-28,-16,44]

我现在的问题是:

public static String[] arg() throws IOException {
    String[] strArray = { getString() };
    System.out.println(strArray);
    return strArray;
}

当我打印 strArray 时,我有一个错误(ECLIPSE 给我看这个:[Ljava.lang.String;@796686c8)。我需要我的字符串(remainingString)成为一个字符串数组(strArray),但它保持相同的格式,也就是说,它总是 OUTPUT :[40,-13,-6,-7,-4] [28,-40,45,-29,37] [-43,19,-24,-9,-45] [26,-41,-28,-16,44] 但使用数组格式。非常感谢!

【问题讨论】:

标签: java arrays eclipse string syntax


【解决方案1】:

数组在 Java 中也是对象,但它们不会覆盖 Object's toString() method,它负责输出:[Ljava.lang.String;@796686c8

换句话说,这个方法返回一个字符串等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())

使用Arrays.toString 生成预期的数组输出:

System.out.println(Arrays.toString(strArray));

【讨论】:

  • 好的,谢谢。但后来我想将我的数组传递给不同的方法,特别是应该这样做吗?关于代码,我应该在这种方法中使用 string[] arg() (任何解决方案)?公共静态 void parseClauses(List F, String[] arg, int N) {
【解决方案2】:

您必须使用Arrays.toString() 方法返回指定数组内容的字符串表示形式。
将您的系统更改为System.out.println(Arrays.toString(strArray));

System.out.println(strArray); 将打印 Object toString 值getClass().getName() + '@' + Integer.toHexString(hashCode())

这就是你收到[Ljava.lang.String;@796686c8)的原因。

更多信息请参考http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html

【讨论】:

    猜你喜欢
    • 2018-08-10
    • 2012-04-20
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 2018-10-11
    • 2011-03-25
    相关资源
    最近更新 更多