System.lineSeparator()在jdk1.8中不起作用

时间:2018-12-11 10:34:21

标签: java

我遇到了System.lineSepartor()方法的问题 使用 jdk 1.8。 参见下面的代码。

String text="{"+System.lineSeperator()+"{"a":"abc","b":"bac"}"+System.lineSeperator()+"}"

SOP(文本)时

我要输出:{

3 个答案:

答案 0 :(得分:0)

这是您要执行的操作:

public class Test {
    public static void main(String[] args) {
        String text="{"+System.lineSeparator()+"{\"a\":\"abc\",\"b\":\"bac\"}"+System.lineSeparator()+"}";
        System.out.println(text);
    }
}

您遇到的一些问题:

  • lineSeparator()方法指定不正确。
  • 字符串中的"未被转义。

注意:由于代码无法编译,因此不确定为什么将输出作为{

答案 1 :(得分:0)

public class Simple {
  String text = "{" + System.lineSeparator() + "{\"a\":\"abc\",\"b\":\"bac\"}"+System.lineSeparator()+"}";
}

答案 2 :(得分:0)

看看您的代码部分:

"{"a":"abc","b":"bac"}"

a,abc,b,bac变量是吗?如果是这样,您需要添加一个串联运算符,如下所示:

"{"+a+":"+abc+","+b+":"+bac+"}"

编辑:根据您的评论,我进行了一些修改。由于a,abc,b,bac是普通的文字值,因此您应该像我一样用单引号表示它们。同样,您使用的方法名称不正确。不是lineSeperator(),而是lineSeparator()。我希望这会有所帮助。

String text="{"+System.lineSeparator()+"{'a':'abc','b':'bac'}"+System.lineSeparator()+"}";