[JAVA] Qu'utilisez-vous lors de la conversion en String?

N'y a-t-il pas beaucoup de temps pour le changer en String?

Beaucoup? Surtout la clé primaire Je pense qu'il y en a beaucoup int et long Ce sera une chaîne lors de la prise en sandwich de la communication API

La conversion est donc String.valueOf ou ʻ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("-------Commencer la mesure-------");
		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("-------Fin de la mesure-------");
	}

	/**
	 * {@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());
	}

}

-------Commencer la mesure-------
String.valueOf() : 2024ms
Object.toString() : 904ms
-------Fin de la mesure-------

Ouais, c'est différent ...

Eh bien, ʻObject.toString` ne peut pas être utilisé pour les types primitifs, et cela ressemble à ...

Au fait

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("-------Commencer la mesure-------");
		Long start1 = System.currentTimeMillis();
		run1();
		Long end1 = System.currentTimeMillis();
		System.out.println((end1 - start1) + "ms");
		System.out.println("-------Fin de la mesure-------");
	}

	/**
	 *Est-ce que c'est bon?
	 */
	private static void run1() {
		IntStream.range(0, 5000000).boxed().map(v -> v + "").collect(Collectors.toList());
	}

}
-------Commencer la mesure-------
3021ms
-------Fin de la mesure-------

Ce n'est pas bon w

Recommended Posts

Qu'utilisez-vous lors de la conversion en String?
Que faire lorsqu'une exception javax.batch.operations.JobStartException se produit
Que faire si la commande rails devient inutilisable
Que faire lorsqu'une exception javax.el.PropertyNotWritableException se produit
Que faire lorsque la méthode non définie ʻuser_signed_in? '
Que faire en cas de problème pendant Content Assist
Que faire lorsque vous rencontrez le problème node_modules avec docker-compose
Lorsque vous souhaitez utiliser la méthode à l'extérieur
Que faire si vous transmettez des informations incorrectes
Que faire lors du débogage "Source non trouvée"
Que faire si IllegalStateException se produit dans PlayFramework
Que faire lorsque vous pensez que vous ne pouvez pas Groovy-> Java avec IntelliJ IDEA CE
<f: ajax> Impossible d'attacher <f: ajax> à un non-ClientBehaviorHolder Que faire lorsque vous devenez parent
Que faire lorsque le certificat SSL a expiré
Que faire lorsque les balises JSF ne deviennent pas HTML
Que faire si une exception ClassNotFoundException se produit lors du démarrage de Tomcat
Erreur ExecJS :: RuntimeUnavailable: que faire quand cela se produit
ParseException: que faire lorsqu'une date impossible à analyser est atteinte
Remarques à vérifier lorsque vous essayez d'utiliser Lombok
Comment utiliser String [] args
Que faire si vous obtenez une erreur NoClassDefFoundError lorsque vous essayez d'exécuter eclipse sur Java 9
Que faire lorsque l'adresse déjà utilisée est affichée après l'exécution des rails
Que faire quand il devient impossible de trouver CDI BeanManager.
Que faire lorsqu'une exception java.io.IOException se produit dans GlassFish
Que faire lorsque la méthode n'est pas trouvée dans f: ajax
Que faire lorsque vous ne pouvez pas appliquer d'opérateurs d'expression à la liaison de méthode
Delicate est pratique à utiliser lorsque vous souhaitez réutiliser des pièces
[Tutoriel Rails Chapitre 2] Que faire lorsque vous faites une erreur dans le nom de la colonne
Quand refactoriser?
Utilisez-vous Stream en Java?
Que faire si une exception UnsupportedCharsetException se produit dans un JRE léger
Que faire si vous obtenez une erreur gcc dans Docker
[Rails] Que faire lorsque les rails ne répondent pas ou ne s'arrêtent pas
java.security.InvalidKeyException: Que faire en cas de taille de clé ou de paramètres par défaut illégaux
Que faire si vous vous fâchez contre OpenSSL avec Pyenv Install
Que faire si vous oubliez votre mot de passe root sur CentOS7
Pratique à utiliser lorsque vous souhaitez exécuter différents groupes de traitement en série
[Rails] Que faire si vous ne pouvez pas obtenir de paramètres avec form_with
Que faire si vous vous déconnectez en raison d'une erreur de certificat SSL lors de l'exécution de Jenkins sur votre Mac
Que faire lorsque vous souhaitez connaître la position source où la méthode est définie dans binding.pry
Que faire si vous obtenez une erreur de bibliothèque partagée JNI lorsque vous essayez de créer avec Eclipse
Que faire quand git status indique Modifications non préparées pour la validation: après git add.
[IOS] Que faire lorsque l'image est remplie d'une seule couleur
Que faire si vous obtenez un avertissement groovy dans Thymeleaf Layout
Que faire lorsque CentOS ne peut pas être démarré avec VirtualBox sur Catalina
Que faire lorsque "npm ERR! Code ENOSELF" s'affiche après l'installation de npm
Que faire après la mise à jour de Dockerfile, docker-compose.yml
[Android Studio] Que faire en cas d'erreur en crachant l'enfer