darksmilie
Erfahrenes Mitglied
Gibt es in Java eine Trennzeichen, damit ich in einer Stringvariablen ein zeilenumbruch machen kann. Der Sting ist sonst zu lang und ich müsste immer weit nach rechts scrollen.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
private String string = "Hallo ich blablablablalba. \n
BlaBlaBlaBla";
String bla = "blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla"
String bla = "blablablablabla
blablablablabla
blablablablabla
blablablablabla
blablablablabla
blablablablabla
blablabla"
String test = "test" + "test" + "test" +
"test" + "test";
Diese Regel gilt nur noch bedingt......wenn es darum geht, zur Laufzeit einen String zu konstruieren, der sich aus mehreren TeilStrings zusammensetzt, solltest Du lieber auf die Klasse StringBuffer zurückgreifen. Das macht sich bei großen Strings (ich spreche hier nicht von Zweizeilern sondern von Strings > 20Kb und mehreren zig Konkatenationsanweisungen...) extrem (ca. Faktor 5 bis 10) bemerkbar!
/**
*
*/
package de.tutorials;
import java.util.Arrays;
/**
* @author Tom
*
*/
public class StringConcatenationExample {
/**
* @param args
*/
public static void main(String[] args) {
String s = "abc";
s += s + Integer.MAX_VALUE + new Object() + Arrays.asList(new Object[]{"a","b","c"});
System.out.println(s);
}
}
// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov Date: 6/22/2006 2:30:03 PM
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: StringConcatenationExample.java
package de.tutorials;
import java.io.PrintStream;
import java.util.Arrays;
public class StringConcatenationExample
{
public StringConcatenationExample()
{
}
public static void main(String args[])
{
String s = "abc";
s = (new StringBuilder(String.valueOf(s))).append(s).append(0x7fffffff).append(new Object()).append(Arrays.asList(new Object[] {
"a", "b", "c"
})).toString();
System.out.println(s);
}
}
public class StringPerfTest {
System.out.println("Java-Version :"+System.getProperty("java.vm.version")+" ("+System.getProperty("java.vm.vendor")+")");
String testString = "";
long start = 0;
long stop = 0;
start = System.currentTimeMillis();
for (int i=0;i<2000;i++)
testString += "i hat den Wert: "+ i + "\n";
stop = System.currentTimeMillis();
System.out.println("Test 1 dauerte "+(stop-start)+" mS.\n");
StringBuffer testBuffer = new StringBuffer();
start = System.currentTimeMillis();
for (int i=0;i<2000;i++)
testBuffer.append("i hat den Wert: "+ i + "\n");
stop = System.currentTimeMillis();
System.out.println("Test 2 dauerte "+(stop-start)+" mS.\n");
}
}
Java-Version :1.5.0_06-b05 (Sun Microsystems Inc.)
Test 1 dauerte 953 mS.
Test 2 dauerte 1 mS.
Java-Version :1.4.2_10-b03 (Sun Microsystems Inc.)
Test 1 dauerte 656 mS.
Test 2 dauerte 1 mS.
// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov Date: 6/22/2006 3:29:17 PM
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: StringPerfTest.java
package de.tutorials;
import java.io.PrintStream;
public class StringPerfTest
{
public StringPerfTest()
{
}
public static void main(String args[])
{
System.out.println((new StringBuilder("Java-Version :")).append(System.getProperty("java.vm.version")).append(" (").append(System.getProperty("java.vm.vendor")).append(")").toString());
String testString = "";
long start = 0L;
long stop = 0L;
start = System.currentTimeMillis();
for(int i = 0; i < 2000; i++)
testString = (new StringBuilder(String.valueOf(testString))).append("i hat den Wert: ").append(i).append("\n").toString();
stop = System.currentTimeMillis();
System.out.println((new StringBuilder("Test 1 dauerte ")).append(stop - start).append(" mS.\n").toString());
StringBuffer testBuffer = new StringBuffer();
start = System.currentTimeMillis();
for(int i = 0; i < 2000; i++)
testBuffer.append((new StringBuilder("i hat den Wert: ")).append(i).append("\n").toString());
stop = System.currentTimeMillis();
System.out.println((new StringBuilder("Test 2 dauerte ")).append(stop - start).append(" mS.\n").toString());
}
}
testBuffer = new StringBuffer();
start = System.currentTimeMillis();
for (int i = 0; i < 2000; i++)
testBuffer.append("i hat den Wert: ").append(i).append("\n");
stop = System.currentTimeMillis();
System.out.println("Test 3 dauerte " + (stop - start) + " mS.\n");
Diese Regel gilt nur noch bedingt...