Explication détaillée de l'utilisation de la méthode split de Java
Je crois que tout le monde utilise souvent la méthode split de String, mais avez-vous déjà rencontré la situation suivante :
Pensez au résultat de l'exécution du code suivant
public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "a,b,c,,,a"; String str2 = "a,b,c,,,"; String str3 = "a,b,c, , ,"; String[] s1 = str1.split(","); String[] s2 = str2.split(","); String[] s3 = str3.split(","); System.out.println("str1长度:"+s1.length); System.out.println("str2长度:"+s2.length); System.out.println("str3长度:"+s3.length); }
Résultat de l'exécution :
Pourquoi un tel résultat se produit-il ? La recherche dans l'API a trouvé une solution
Solution :
En vérifiant l'API, nous avons constaté que notre méthode split couramment utilisée passe 0 par défaut. La solution pour résoudre le problème de la sortie str2 vide est de passer le deuxième paramètre sous forme de nombre négatif, c'est-à-dire
public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "a,b,c,,,a"; String str2 = "a,b,c,,,"; String str3 = "a,b,c, , ,"; String[] s1 = str1.split(","); String[] s2 = str2.split(",",-1); String[] s3 = str3.split(",",-1); System.out.println("str1长度:"+s1.length); System.out.println("str2长度:"+s2.length); System.out.println("str3长度:"+s3.length); }
<. 🎜 >
Après une recherche dans l'API, il a été constaté qu'il existe deux méthodes surchargées par division dans la classe String1.public String[] split(String regex)Selon le l'expression régulière donnée Match divise cette chaîne. Cette méthode agit comme appeler la méthode split à deux arguments avec l'expression donnée et l'argument de contrainte 0. Par conséquent, la chaîne vide de fin n’est pas incluse dans le tableau résultant. Par exemple, la chaîne "boo:and:foo" utilise ces expressions pour produire les résultats suivants : Résultats Regex: { "boo", "and", "foo" } o { "b", "", ":and:f" }
regex - expression régulière délimitée
renvoie :
un tableau de chaînes déterminé en divisant cette chaîne en fonction des correspondances de l'expression régulière donnée
renvoie :
PatternSyntaxException - Si la syntaxe du l'expression régulière n'est pas valide
: 2 { "boo", "and:foo" } : 5 { "boo", "and", "foo" } : -2 { "boo", "and", "foo" } o 5 { "b", "", ":and:f", "", "" } o -2 { "b", "", ":and:f", "", "" } o 0 { "b", "", ":and:f" }
limit - seuil de résultat, comme ci-dessus
tableau de chaînes divisé en fonction des correspondances de l'expression régulière donnée Cette chaîne détermine
PatternSyntaxException - si la syntaxe de l'expression régulière n'est pas valide

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le chargement de classe de Java implique le chargement, la liaison et l'initialisation des classes à l'aide d'un système hiérarchique avec Bootstrap, Extension et Application Classloaders. Le modèle de délégation parent garantit que les classes de base sont chargées en premier, affectant la classe de classe personnalisée LOA

L'article examine la mise en œuvre de la mise en cache à plusieurs niveaux en Java à l'aide de la caféine et du cache de goyave pour améliorer les performances de l'application. Il couvre les avantages de configuration, d'intégration et de performance, ainsi que la gestion de la politique de configuration et d'expulsion le meilleur PRA

L'article discute de l'utilisation de JPA pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux. Il couvre la configuration, la cartographie des entités et les meilleures pratiques pour optimiser les performances tout en mettant en évidence les pièges potentiels. [159 caractères]

L'article discute de l'utilisation de Maven et Gradle pour la gestion de projet Java, la construction de l'automatisation et la résolution de dépendance, en comparant leurs approches et leurs stratégies d'optimisation.
