JAVA中的逐字字符串替代方案

时间:2012-06-08 12:45:44

标签: java string

知道Java doest在C#中有逐字符串(@),在代码中使用它时是否有保留字符串格式的方法?我有一个s代码我必须在代码中使用,但为了便于阅读我必须以某种格式保留它,我可以在c#中使用@来做到这一点,但我怎样才能在Java中实现呢?

例如:

String SQL=@"INSERT INTO VERSION_INFO
        ( TABLE_NAME ,
          VERSION_ID ,
          DATE,
          EXP
        )
VALUES  ( '' , -- TABLE_NAME - varchar(50)
          0 , -- VERSION_ID - int
          0 , -- DATE- int
          ''  -- EXP- varchar(100)
        )";

我必须按原样使用它,不需要太多修改......

编辑愚蠢...

3 个答案:

答案 0 :(得分:5)

如果您使用Eclipse,则可以使用以下@formatter标记:

// @formatter:off

String string = "Your beautifully"
    + " formatted string";

// @formatter:on

这些标签之间的任何内容都不受 Ctrl + Shift + F Source > Format)的影响。

答案 1 :(得分:2)

我能说什么,除了...抱歉。

String SQL = "INSERT INTO VERSION_INFO (\n"
           + "    TABLE_NAME,\n"
           + "    VERSION_ID,\n"
           + "    DATE,\n"
           + "    EXP\n"
           + ")\n"
           + "VALUES (\n"
           + "    '' , -- TABLE_NAME - varchar(50)\n"
           + "    0,   -- VERSION_ID - int\n"
           + "    0,   -- DATE- int\n"
           + "    ''   -- EXP- varchar(100)\n"
           + ")";

答案 2 :(得分:0)

不幸的是,Java不会给Verbatins。

您可以使用String format方法来实现此目的。

示例:

String str= "Hello %s, isn't %s cool?";
String formatted = String.format(str,"Ivan", "Scala");
System.out.println(formatted);

您可以先编写查询,然后再格式化查询字符串。

<强> e.g。

String SQL="INSERT INTO VERSION_INFO
    ( TABLE_NAME ,
      VERSION_ID ,
      DATE,
      EXP
    )
VALUES  ('%s','%s',%s,'%s')";

String.format(SQL,--set as order---);

我认为它可以帮助你。