相关疑难解决方法(0)

Java多行字符串

来自Perl,我肯定错过了"here-document"在源代码中创建多行字符串的方法:

$string = <<"EOF"  # create a three-line string
text
text
text
EOF
Run Code Online (Sandbox Code Playgroud)

在Java中,我必须在每一行都有繁琐的引号和加号,因为我从头开始连接多行字符串.

有哪些更好的选择?在属性文件中定义我的字符串?

编辑:两个答案说StringBuilder.append()优于加号表示法.任何人都可以详细说明他们为什么这么认为?它看起来并不比我更好.我正在寻找一种方法,即多行字符串不是一流的语言结构,这意味着我绝对不希望用方法调用替换第一类语言结构(字符串连接加上).

编辑:为了进一步澄清我的问题,我根本不关心表现.我担心可维护性和设计问题.

java string multiline

486
推荐指数
28
解决办法
55万
查看次数

在Java中,有没有办法在不必转义引号的情况下编写字符串文字?

假设你有一个字符串文字,里面有很多引号.你可以逃避所有这些,但这是一种痛苦,难以阅读.

在某些语言中,您可以这样做:

foo = '"Hello, World"';
Run Code Online (Sandbox Code Playgroud)

但是,在Java中,s ''用于chars,因此不能以String这种方式使用它.有些语言有解决此问题的语法.例如,在python中,您可以这样做:

"""A pretty "convenient" string"""
Run Code Online (Sandbox Code Playgroud)

Java有类似的东西吗?

java string escaping

106
推荐指数
6
解决办法
8万
查看次数

用引号括起来

如何在Eclipse JDT中将多行选择转换为String.如下所示

从:

xxxx
yyyy
zzz
Run Code Online (Sandbox Code Playgroud)

至:

"xxxx " +
"yyyy " +
"zzz"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下模板

"${line_selection}${cursor}"+
Run Code Online (Sandbox Code Playgroud)

但是这样我只能将整个区块分别包围而不是每条线.如何实现多线处理,例如评论所选块?

eclipse

35
推荐指数
2
解决办法
3万
查看次数

Java中是否有heredoc替代品(heredoc作为PHP)?

对于JAVA开发,我需要写一个包含"\ r\t \n <>"字符串的文件,因为从Java我想编写一个PHP文件.如果您无法理解,请查看此示例:

BufferedWriter buffW = new BufferedWriter(fileW);
            buffW.write("<?php\n\n\tclass MyClass {\n\tpublic function test()\n}\n}\n?>");
Run Code Online (Sandbox Code Playgroud)

这是一个乱码的代码,我想写一个干净的如PHP可以做的,但是在Java替代方式上找不到例如:

 <?php
$mystring = <<<EOT
    This is some PHP text.
    It is completely free
    I can use "double quotes"
    and 'single quotes',
    plus $variables too, which will
    be properly converted to their values,
    you can even type EOT, as long as it
    is not alone on a line, like this:
EOT;
?> 
Run Code Online (Sandbox Code Playgroud)

php java heredoc readfile

15
推荐指数
1
解决办法
1万
查看次数

使用Java中的长字符串(heredocs) - 可读的方法?

我需要处理包含Java中的换行符的长字符串.这些是用于HTML生成的,但它并不是最重要的.

我知道Java在没有heredocs的方式上是残废的.但是我还可以使用其他机制:

1)字符串连接(或StringBuilders),不是非常易读和可复制粘贴.

2)在.properties文件中存储字符串,要么不是非常易读,要么具有更高的复制性.

3)将每个"heredoc"存储在单独的.txt文件中,非常易读且可以复制,但会产生大量的txt文件.

4)模板引擎,如VelocityFreemarker - 将设计移出Java,需要大量的地图操作,这将是相当不错的,但Velocity语法和循环/如果能力不像Smarty那样可读

每个人都有利弊,我想选择3,但由于纯粹的意识形态原因,管理层更喜欢1.我想在Java中使用heredocs有一些标准,可能是库让事情变得更容易.我很感激任何建议(有很好的论据)如何使用heredocs.

感谢名单

java string heredoc

8
推荐指数
2
解决办法
9449
查看次数

标签 统计

java ×4

string ×3

heredoc ×2

eclipse ×1

escaping ×1

multiline ×1

php ×1

readfile ×1