Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA中的逐字字符串替代方案_Java_String - Fatal编程技术网

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

JAVA中的逐字字符串替代方案,java,string,Java,String,知道Java没有像C中一样的逐字字符串@,在代码中使用字符串时有没有办法保持字符串的格式?我有一个sql代码,我必须在代码中使用,但为了可读性,我必须保持它的某种格式,我可以用C中的@来实现,但我如何在Java中实现这一点 例如: String SQL=@"INSERT INTO VERSION_INFO ( TABLE_NAME , VERSION_ID , DATE, EXP ) VALUES (

知道Java没有像C中一样的逐字字符串@,在代码中使用字符串时有没有办法保持字符串的格式?我有一个sql代码,我必须在代码中使用,但为了可读性,我必须保持它的某种格式,我可以用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)
        )";
我必须按原样使用,没有太多修改


为愚蠢而编辑…

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


这些标记之间的任何内容都不受Ctrl+Shift+F Source>格式的影响。

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


这些标记之间的任何内容都将不受Ctrl+Shift+F Source>格式的影响。

除了。。。对不起

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"
           + ")";

除了…我还能说什么。。。对不起

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"
           + ")";

不幸的是,Java没有提供Verbatins

您可以使用字符串格式方法来实现这一点

例如:

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

e、 g


我认为它可以帮助您。

不幸的是,Java没有提供Verbatins

您可以使用字符串格式方法来实现这一点

例如:

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

e、 g


我想它可以帮助你。

我忘了引号,我猜是:p但事实并非如此:我所说的是,在标准Java中,它并没有比我在这个答案中所写的好多少。Java代码是否也需要换行符\n来生成与C逐字字符串相同的字符串?@RogerLindsjö,是的。我认为这在这个案子中并不重要。添加它…为了避免手动输入的麻烦,\n您还可以在“窗口>首选项>Java>编辑器>键入”下启用粘贴到字符串文字时自动换行和转义文本的选项。whops我忘记了引号,我猜是:P,但仍然不是这样:我要说的是,在标准Java中,没有比我在这个答案中写的更好的了。java代码是否也需要换行符\n来生成与C逐字字符串相同的字符串?@RogerLindsjö,当然可以。我认为这在这个案子中并不重要。添加它…为了避免手动键入的麻烦,您还可以在“窗口>首选项>Java>编辑器>键入”下启用粘贴到字符串文字时自动换行和转义文本的选项。
String str= "Hello %s, isn't %s cool?";
String formatted = String.format(str,"Ivan", "Scala");
System.out.println(formatted);
String SQL="INSERT INTO VERSION_INFO
    ( TABLE_NAME ,
      VERSION_ID ,
      DATE,
      EXP
    )
VALUES  ('%s','%s',%s,'%s')";

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