Maison >Java >javaDidacticiel >Comment puis-je créer efficacement des chaînes multilignes en Java ?

Comment puis-je créer efficacement des chaînes multilignes en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-06 01:13:10659parcourir

How Can I Efficiently Create Multiline Strings in Java?

Java prend-il en charge les chaînes multilignes ?

Pour ceux qui connaissent Perl, le « document ici » est un outil utile pour créer des chaînes multilignes dans code source. Cependant, en Java, concaténer manuellement des chaînes à l'aide de guillemets et de signes plus sur chaque ligne peut s'avérer fastidieux et fastidieux.

Bien qu'il n'existe pas d'équivalent direct à la syntaxe "here-document" en Java, il existe plusieurs alternatives à pensez à créer efficacement des chaînes multilignes.

1. Concaténation de chaînes avec l'opérateur Plus ( )

La méthode la plus simple consiste à concaténer manuellement des chaînes avec l'opérateur plus ( ). Cela implique d'ajouter explicitement des sauts de ligne si nécessaire en utilisant la chaîne littérale ""n"":

String s = "It was the best of times, it was the worst of times\n"
         + "it was the age of wisdom, it was the age of foolishness\n"
         + "it was the epoch of belief, it was the epoch of incredulity\n"
         + "it was the season of Light, it was the season of Darkness\n"
         + "it was the spring of hope, it was the winter of despair\n"
         + "we had everything before us, we had nothing before us";

2. StringBuilder.append()

La classe StringBuilder fournit une méthode appelée append() qui peut être utilisée pour ajouter des chaînes ou d'autres données à un générateur de chaînes. Bien que cette technique puisse paraître moins concise que l'utilisation de l'opérateur plus, elle offre certains avantages, tels que des performances améliorées et une sécurité des threads.

StringBuilder sb = new StringBuilder();
sb.append("It was the best of times, it was the worst of times");
sb.append("it was the age of wisdom, it was the age of foolishness");
// ...
String s = sb.toString();

3. String.join()

Introduit dans Java 8, String.join() permet de combiner plusieurs chaînes en une seule chaîne à l'aide d'un délimiteur spécifié. Pour créer une chaîne multiligne, le délimiteur peut être défini pour représenter les sauts de ligne souhaités :

String s = String.join("\n"
         , "It was the best of times, it was the worst of times"
         , "it was the age of wisdom, it was the age of foolishness"
         // ...
);

4. String.format()

String.format() est un outil puissant pour formater des chaînes basées sur un modèle. Il peut également être utilisé pour créer des chaînes multilignes en incorporant des caractères de nouvelle ligne dans le modèle de formatage :

String s = String.format("%s\n%s\n%s\n%s\n%s\n%s"
         , "It was the best of times, it was the worst of times"
         , "it was the age of wisdom, it was the age of foolishness"
         // ...
);

5. Stockage dans un fichier texte

Pour les chaînes particulièrement volumineuses, il peut être avantageux de stocker le contenu dans un fichier texte séparé, puis de lire le contenu du fichier dans une chaîne. Cette approche peut aider à éviter de gonfler les fichiers de classe avec des littéraux de chaîne volumineux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn