2

Eclipse で非常に長い文字列を操作したいと考えています。だから私の問題は次のとおりです。ブラケットに文字列を入れるたびに、Eclipseは最初の行を文字列として認識するだけです(文字列に改行があります)

文字列:

public static final String EXAMPLE_TEST =""

文字列を挿入すると:

public static final String EXAMPLE_TEST ="1.    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore 
2.  magna aliquyam erat, sed diam voluptua. 
3.  At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum 
4.  dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore
5.  magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, 
6.  no sea takimata sanctus est Lorem ipsum dolor sit amet.
"

1.("orem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut Labore et dolore") の後の行はエスケープされます。

誰かが助けてくれることを願っています。ありがとう

4

6 に答える 6

10

環境設定:

Java > エディタ > 入力

「文字列リテラルに貼り付けるときにテキストをエスケープする」にチェックを入れます。

于 2012-04-06T22:19:36.597 に答える
6

通常、これらは分割されています。

String blah = "I am \n" +
 "a very \n" +
 "long string.";

コンパイラは、トークンが新しい行の前に閉じられることを期待しています。「トークン」は、「文字列」、「何とか」、「=」、「私は」、「+」のようなものです。複数の行に分割されたトークンを持つことはできません - コンパイラはそれを認識する方法を知りません。残念ながら、それは言語の基本です。

于 2012-04-06T22:18:13.470 に答える
4

で改行を直接処理することはできませんString。そのため、キャラクターと+一緒にそれらを互いに連結することに固執しています。\n

これは、単純な検索と置換ツールを使用して簡単に自動化できます。

ただし、 Java 7 に複数行の文字列を追加するという提案があったことは興味深いかもしれません。

于 2012-04-06T22:19:23.657 に答える
2

Java は複数行の文字列をサポートしていません。すべてを 1 行に収めたくない場合は、+ を使用する必要があります。

または、ソースと共に配布する ini (Preferences) ファイルからテキストをロードすることもできます (jar 内であってもかまいません)。これは、後で i18n を追加することを考える場合にも役立ちます。

于 2012-04-06T22:18:41.633 に答える
1

どこにでも + 記号がなければ、とにかくそれを行うことは本当にありません。JLSは次のように述べています。

開始 " の後、終了一致 " の前に行末記号が表示されるのは、コンパイル時エラーです。

そのため、ソース コードでそのような文字列を宣言する唯一の方法は、それらを 1 行にまとめ\r\n、途中に を挿入するか、+ 演算子を使用してそれらを連結することです。文字列は static final として宣言されているため、文字列に + 演算子を使用することを恐れてはなりません。したがって、連結は 1 回だけ行われます。

別の方法として、これらの文字列をファイルから読み取ることで、ソース コードで文字列を宣言する必要がなくなります。

于 2012-04-06T22:21:20.877 に答える