2011-01-03 12 views
18

Czytałem, że multilinii literały łańcuchowe zostały zaproponowane do dodania w Javie 7.Java 7 - ciągi wielowierszowe

Chociaż nie mogę znaleźć żadnej dokumentacji mówiąc na pewno, że były. Chciałbym się dowiedzieć, czy są, ponieważ jest to coś, o czym bym rozważał zmianę wersji.

+0

So @Mike, o co jeszcze chodzi? – mauris

+1

Istnieje [propozycja z 2008 r.] (Http://www.jroller.com/scolebourne/entry/java_7_multi_line_string), ale nic na [liście funkcji] (http://openjdk.java.net/projects/jdk7/features) /). Istnieje [implementacja biblioteki] (http://blog.efftinge.de/2008/10/multi-line-string-literals-in-java.html). – marcog

+0

Dlaczego potrzebujesz ciągów wielowierszowych, jeśli naprawdę potrzebujesz ich załadować pliki tekstowe itp. –

Odpowiedz

16

Literały łańcuchów wielowierszowych nie zostaną dodane do JDK 7. Możesz sprawdzić numer homepage Project Coin dla listy zmian językowych.

Jednakże, można użyć Scala, która nie wspiera multilinii literały ciągów za pomocą potrójnych cudzysłowów:

var s = """Hello 
     World""" 
+1

dzięki za link, ale dlaczego wspomniałeś o scala? – Mike

+0

Ponieważ jest ona również kierowana na maszynę JVM. –

+0

może to być przydatne z kontekstu kodu Java? – Mike

3

wielowierszowe struny nie zostały dodane do Java (nawet jak Java 8, najnowsza aktualna wersja) i prawdopodobnie nigdy nie zostaną dodane do Java. Jednakże, można dodać kilka ciągów razem tak:

String greeting = "Hello " + 
    "world! " + 
    "This is a multiline string."; 

Albo, jeśli chcesz linia multiline łamie się faktycznie rozpocząć nowy wiersz, wstawić „\ n” na końcu każdej linii.

+2

Rozumiesz, że multilinia odnosi się do kodu źródłowego, a nie do renderowanej wersji? –

+0

@ThomasJungblut Przepraszamy. Musiałem źle to zrozumieć. Będę edytować moją odpowiedź. – HyperNeutrino