[JAVA] Was verwenden Sie beim Konvertieren in String?

Gibt es nicht viel Zeit, um es in String zu ändern?

Viel? Besonders der Primärschlüssel Ich denke, es gibt viele int und lang Es wird ein String sein, wenn die API-Kommunikation eingeschlossen wird

Die Konvertierung lautet also "String.valueOf" oder "Object.toString"?

package test;

import java.util.stream.Collectors;
import java.util.stream.IntStream;

/**
 * test
 *
 * @author me
 *
 */
public class Test1 {

	/**
	 * main
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("-------Messung starten-------");
		Long start1 = System.currentTimeMillis();
		run1();
		Long end1 = System.currentTimeMillis();
		System.out.println("String.valueOf() : " + (end1 - start1) + "ms");
		Long start2 = System.currentTimeMillis();
		run2();
		Long end2 = System.currentTimeMillis();
		System.out.println("Object.toString() : " + (end2 - start2) + "ms");
		System.out.println("-------Ende der Messung-------");
	}

	/**
	 * {@link String#valueOf()}
	 */
	private static void run1() {
		IntStream.range(0, 5000000).boxed().map(String::valueOf).collect(Collectors.toList());
	}
	/**
	 * {@link Object#toString()}
	 */
	private static void run2() {
		IntStream.range(0, 5000000).boxed().map(Object::toString).collect(Collectors.toList());
	}

}

-------Messung starten-------
String.valueOf() : 2024ms
Object.toString() : 904ms
-------Ende der Messung-------

Ja, das ist anders ...

Nun, "Object.toString" kann nicht für primitive Typen verwendet werden, und es fühlt sich an wie ...

Apropos

package test;

import java.util.stream.Collectors;
import java.util.stream.IntStream;

/**
 * test
 *
 * @author me
 *
 */
public class TestT {

	/**
	 * main
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("-------Messung starten-------");
		Long start1 = System.currentTimeMillis();
		run1();
		Long end1 = System.currentTimeMillis();
		System.out.println((end1 - start1) + "ms");
		System.out.println("-------Ende der Messung-------");
	}

	/**
	 *Ist das gut?
	 */
	private static void run1() {
		IntStream.range(0, 5000000).boxed().map(v -> v + "").collect(Collectors.toList());
	}

}
-------Messung starten-------
3021ms
-------Ende der Messung-------

Es ist nicht gut w

Recommended Posts

Was verwenden Sie beim Konvertieren in String?
Was tun, wenn eine javax.batch.operations.JobStartException auftritt?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Was tun, wenn eine javax.el.PropertyNotWritableException auftritt?
undefinierte Methode Was tun, wenn Sie "user_signed_in" erhalten?
Was tun bei Problem während der Inhaltsunterstützung?
Was tun, wenn Sie mit Docker-Compose auf das Problem node_modules stoßen?
Wenn Sie die Methode außerhalb verwenden möchten
Was tun, wenn Sie falsche Informationen eingeben?
Was tun beim Debuggen von "Quelle nicht gefunden"?
Was tun, wenn in PlayFramework eine IllegalStateException auftritt?
Was tun, wenn Sie glauben, dass Sie mit IntelliJ IDEA CE nicht Groovy-> Java können?
<f: ajax> <f: ajax> kann nicht an Nicht-ClientBehaviorHolder angehängt werden. Was tun, wenn Sie Eltern werden?
Was tun, wenn das SSL-Zertifikat abgelaufen ist?
Was tun, wenn JSF-Tags nicht zu HTML werden?
Was tun, wenn beim Starten von Tomcat eine ClassNotFoundException auftritt?
Fehler ExecJS :: RuntimeUnavailable: Was tun, wenn es auftritt?
ParseException: Was tun, wenn ein nicht analysierbares Datum erreicht ist?
Hinweise zur Überprüfung bei der Verwendung von Lombok
Verwendung von String [] args
Was tun, wenn beim Versuch, Eclipse unter Java 9 auszuführen, ein NoClassDefFoundError angezeigt wird?
Was tun, wenn die bereits verwendete Adresse nach dem Ausführen der Schienen angezeigt wird?
Was tun, wenn CDI BeanManager nicht mehr gefunden werden kann?
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
Was tun, wenn die Methode in f: ajax nicht gefunden wurde?
Was ist zu tun, wenn Ausdrucksoperatoren nicht auf die Methodenbindung angewendet werden können?
Delicate ist praktisch, wenn Sie Teile wiederverwenden möchten
[Rails Tutorial Kapitel 2] Was tun, wenn Sie einen Fehlern im Spaltennamen machen?
Wann umgestalten?
Verwenden Sie Stream in Java?
Was tun, wenn in einer Lightweight-JRE eine UnsupportedCharsetException auftritt?
Was tun, wenn in Docker ein gcc-Fehler auftritt?
[Schienen] Was tun, wenn Schienen nicht reagieren oder nicht anhalten?
java.security.InvalidKeyException: Was ist zu tun, wenn die Schlüsselgröße oder die Standardparameter unzulässig sind?
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
Üben Sie die Verwendung, wenn Sie verschiedene Verarbeitungsgruppen seriell ausführen möchten
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn Sie aufgrund eines SSL-Zertifikatfehlers offline gehen, wenn Sie Jenkins auf Ihrem Mac ausführen?
Was tun, wenn Sie die Quellposition wissen möchten, an der die Methode in bind.pry definiert ist?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn der Git-Status besagt, dass Änderungen nicht für das Festschreiben bereitgestellt wurden: Nach dem Hinzufügen des Git.
[IOS] Was tun, wenn das Bild mit einer Farbe gefüllt ist?
Was tun, wenn Sie in Thymeleaf Layout eine groovige Warnung erhalten?
Was tun, wenn CentOS nicht mit VirtualBox unter Catalina gestartet werden kann?
Was tun, wenn nach der Installation von npm "npm ERR! Code ENOSELF" angezeigt wird?
Was tun nach dem Aktualisieren von Dockerfile, docker-compose.yml?
[Android Studio] Was Sie versuchen sollten, wenn Sie in die Hölle geraten