Maison Java javaDidacticiel Analyse approfondie des chaînes en C et JAVA

Analyse approfondie des chaînes en C et JAVA

Jan 19, 2017 pm 03:04 PM

Toutes les classes de chaînes proviennent de chaînes du langage C, et les chaînes du langage C sont des tableaux de caractères. Il n'y a pas de chaînes en langage C, seulement des tableaux de caractères.
Parlons des chaînes de C : C fournit deux types de représentations de chaînes : les chaînes de style C et le type de chaîne introduit par le standard C. Il est généralement recommandé d'utiliser le type string, mais en pratique, vous devez toujours utiliser les anciennes chaînes de style C.
1.Chaînes de style C : les chaînes de style C proviennent du C et ont été étendues en C. Les chaînes sont stockées dans un tableau de caractères, par exemple :
const char *str = « zhangdan » (n'oubliez pas le dernier

Parce que les "zhangpeng" dans str3 et str4 dans l'exemple sont tous deux des constantes de chaîne, ils sont déterminés au moment de la compilation, donc str3==str4 est vrai et "zhang" et "peng" sont également des caractères constantes de chaîne, lorsque une chaîne est concaténée par plusieurs constantes de chaîne, elle doit elle-même être une constante de chaîne, donc str2 est également analysée en une constante de chaîne au moment de la compilation, donc str2 est également dans le pool de constantes "Une référence à.

La différence entre String et StringBuffer en JAVA :

String :
est un objet, pas un type primitif
est un objet immuable une fois créé. , sa valeur ne peut pas être modifiée.
La modification d'un objet String existant implique de recréer un nouvel objet puis d'y enregistrer la nouvelle valeur.
String est une classe finale, c'est-à-dire qu'elle ne peut pas être héritée.
StringBuffer :
C'est un objet mutable. Lorsqu'il est modifié, l'objet ne sera pas rétabli comme String
Il ne peut être créé que via le constructeur,
StringBuffer sb = new StringBuffer( );
ne peut pas le payer via le symbole de paiement.
sb = "xxxxx"; Une fois l'objet
créé, de l'espace mémoire sera alloué dans la mémoire et un nul sera initialement enregistré pour payer la valeur. à StringBuffer
Vous pouvez utiliser sa méthode append.
sb.append("hello");
StringBuffer est plus efficace que String dans les opérations de connexion de chaîne :
String str = new String("xxx" ) ;
str = "xx"; Les étapes de traitement de
consistent en fait à créer un StringBuffer, puis à appeler append(), et enfin
transférer le StringBuffer vers Sting();
De cette façon, l'opération de connexion String Il a quelques opérations supplémentaires que StringBuffer, donc il est plus lent

Posez une question : Pourquoi StringBuffer est-il si efficace, avons-nous donc toujours besoin de String ?
Si vous ne le savez pas, vérifiez-le. La direction est la piscine constante.

Chaîne Python :
Python est un langage de script puissant qui n'a pas besoin de définir un type lors de la définition d'une chaîne. Les chaînes Python ont généralement des guillemets simples ('...'), des guillemets doubles ("..."), des guillemets triples ("""...""") ou ('''...''') entourés par des guillemets triples, la chaîne peut être composée de plusieurs lignes et peut généralement représenter une grande chaîne narrative. Il n'y a fondamentalement aucune différence d'utilisation, mais les guillemets doubles et triples ("""...""") peuvent contenir des guillemets simples, et les guillemets triples ('''...''') peuvent contenir des guillemets doubles, mais non Nécessite une évasion. Lorsqu'un échappement spécial est nécessaire, vous pouvez utiliser ''
Python possède également de nombreuses fonctions de manipulation de chaînes. Plus précisément, vous pouvez utiliser dir, qui est similaire à C et Java.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

Pour une analyse plus approfondie des articles liés aux chaînes en C et JAVA, veuillez faire attention au site Web PHP chinois !

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Le logiciel de sécurité de l'entreprise entraîne-t-il l'exécution de l'application? Comment dépanner et le résoudre? Le logiciel de sécurité de l'entreprise entraîne-t-il l'exécution de l'application? Comment dépanner et le résoudre? Apr 19, 2025 pm 04:51 PM

Dépannage et solutions au logiciel de sécurité de l'entreprise qui fait que certaines applications ne fonctionnent pas correctement. De nombreuses entreprises déploieront des logiciels de sécurité afin d'assurer la sécurité des réseaux internes. ...

Comment simplifier les problèmes de cartographie des champs dans l'amarrage du système à l'aide de mapstruct? Comment simplifier les problèmes de cartographie des champs dans l'amarrage du système à l'aide de mapstruct? Apr 19, 2025 pm 06:21 PM

Le traitement de la cartographie des champs dans l'amarrage du système rencontre souvent un problème difficile lors de l'exécution d'amarrage du système: comment cartographier efficacement les champs d'interface du système a ...

Comment obtenir élégamment des noms de variables de classe d'entité pour créer des conditions de requête de base de données? Comment obtenir élégamment des noms de variables de classe d'entité pour créer des conditions de requête de base de données? Apr 19, 2025 pm 11:42 PM

Lorsque vous utilisez MyBatis-Plus ou d'autres cadres ORM pour les opérations de base de données, il est souvent nécessaire de construire des conditions de requête en fonction du nom d'attribut de la classe d'entité. Si vous manuellement à chaque fois ...

Comment Intellij Idea identifie-t-elle le numéro de port d'un projet de démarrage de printemps sans publier un journal? Comment Intellij Idea identifie-t-elle le numéro de port d'un projet de démarrage de printemps sans publier un journal? Apr 19, 2025 pm 11:45 PM

Commencez le printemps à l'aide de la version IntelliJideaultimate ...

Comment convertir les noms en nombres pour implémenter le tri et maintenir la cohérence en groupes? Comment convertir les noms en nombres pour implémenter le tri et maintenir la cohérence en groupes? Apr 19, 2025 pm 11:30 PM

Solutions pour convertir les noms en nombres pour implémenter le tri dans de nombreux scénarios d'applications, les utilisateurs peuvent avoir besoin de trier en groupe, en particulier en un ...

Comment convertir en toute sécurité les objets Java en tableaux? Comment convertir en toute sécurité les objets Java en tableaux? Apr 19, 2025 pm 11:33 PM

Conversion des objets et des tableaux Java: Discussion approfondie des risques et des méthodes correctes de la conversion de type de distribution De nombreux débutants Java rencontreront la conversion d'un objet en un tableau ...

Comment obtenir élégamment les conditions de requête de création de nom de variable de classe d'entité lors de l'utilisation de tkmybatis pour la requête de base de données? Comment obtenir élégamment les conditions de requête de création de nom de variable de classe d'entité lors de l'utilisation de tkmybatis pour la requête de base de données? Apr 19, 2025 pm 09:51 PM

Lorsque vous utilisez TkMyBatis pour les requêtes de base de données, comment obtenir gracieusement les noms de variables de classe d'entité pour créer des conditions de requête est un problème courant. Cet article épinglera ...

Pourquoi le projet de printemps provoque-t-il des problèmes de hasard dus aux dépendances circulaires lors du démarrage? Pourquoi le projet de printemps provoque-t-il des problèmes de hasard dus aux dépendances circulaires lors du démarrage? Apr 19, 2025 pm 11:21 PM

Comprendre le caractère aléatoire des dépendances circulaires dans le démarrage du projet Spring. Lors du développement du projet Spring, vous pouvez rencontrer le caractère aléatoire causé par des dépendances circulaires au démarrage du projet ...

See all articles