2012-04-06 2 views
2

非常に長い文字列をEclipseで使いたいと思います。 だから、私の問題がある:長い文字列を使って作業する

public static final String EXAMPLE_TEST ="" 

I挿入:私はブラケットEclipseでの文字列に入れて毎回は単なる文字列として最初の行を認識し

文字列(String内linebreakesがあります)文字列:1の後

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. 
" 

行( "オレムイプサム悲しみlaboreらdolore SED DIAM nonumy eirmod tempor invidunt UT、AMET conseteturのsadipscingのelitr座る")エスケープされます。

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

+0

IOは毎回「+」記号を付けないようにしたいと思っています(言われたように...非常に長い文字列) – Ahmad

+0

あなたのコードをコードブラケットに投稿してください。 – JDD

+0

"+"に対するあなたの反対は何ですか? –

答えて

10

ジャワ>エディタ>

チェックタイピング "リテラル文字列に貼り付けるときにテキストをエスケープ"。

+0

ありがとう:Dそれは働いた! – Ahmad

+2

IDEAファンとして、このオプションをデフォルトで有効にしているので、私はそれを使用したいと思っていました= – Rorick

3

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

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

コンパイラは、新しい行の前にトークンが閉じられることを期待しています。 'token'は 'String'や 'blah'や '='や '' I am ''や '+'のようなものです。複数の行に分割されたトークンを持つことはできません。コンパイラはそれを認識する方法を知らない。残念ながら、それは言語の基本です。

2

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

また、ソースと共に配布するini(Preferences)ファイルからテキストを読み込むこともできます(jarファイル内でも可能です)。これは後でi18nを追加することを考えるときにも良いことです。

4

Stringでは直接改行を処理することはできません。だから、あなたは+\nという文字で互いに結びついている。

これは簡単な検索と置換ツールで簡単に自動化できます。

Java 7に複数行の文字列を追加するにはproposalがあったのは興味深いかもしれませんが、残念ながら何も出ていませんでした(詳細はリンクにあります)。環境設定で

+0

+1の歴史のための提案。 –

1

実際にはどこにでも+記号がなければそれを行うことはありません。 JLSはこう言っています:

開封後、および「閉鎖マッチングの前に」行末記号が表示されるのはコンパイル時エラーです。

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

代わりに、これらの文字列をファイルから読み取って、ソースコードでそれらの文字列を宣言する必要がないようにすることもできます。

関連する問題