繁体   English   中英

字符串到字符串数组Java

[英]String to String Array Java

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

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中也是对象,但它们不会覆盖ObjecttoString()方法 ,该方法负责输出: [Ljava.lang.String;@796686c8

换句话说,此方法返回的字符串等于:

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

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

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

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

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

这就是为什么要获取[Ljava.lang.String;@796686c8)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM