Différence entre char[] et String
Quelle est la différence entre char[] et String ? – Les deux à la fois char[] et String sont constitués d’une séquence de caractères. Une séquence implique que les caractères sont ordonnés et qu’ils peuvent être énumérés. Un tableau de caractères char[] ajoute ce que tout tableau est connu pour ajouter: indexation et accès aléatoire à des éléments individuels. String , par contre, ajoute que la séquence de caractères. Les String sont généralement plus sûres, mais les tableaux de caractères char[], vous avez un contrôle direct et peut facilement causer des problèmes / bugs comme le dépassement de la taille du tableau.
Table de comparaison
char[] | String | |
---|---|---|
Syntaxe | char tab[size]; |
String myString; |
Indexage | Un seul caractère dans un tableau de caractères est accessible par son index dans le tableau, Ex : tab[index] . |
Dans string, un seul caractère est accessible par la fonctionmyString.charAt (index) . |
Les limites | Les limites peuvent étre facilement dépassées. | Les limites ne seront pas dépassées. |
L’accès | Accès rapide | Accès lent. |
Définition de char[]
Un tableau de caractères est une collection de valeurs de type «char», il peut s’agir d’un tableau à une dimension ou d’un tableau à deux dimensions. Un tableau de caractères est une séquence de caractères stockés dans des adresses mémoire consécutives. Dans un tableau de caractères, un caractère individuel est accessible par son index. Un «caractère nul» met fin au tableau de caractères ».
Exemple:
char tab[]={'H', 'E', 'L', 'L', 'O', ''}; //ou char tab[]="HELLO";
Rappelez-vous qu’une fois le tableau de caractères initialisé, il ne peut plus être initialisé une autre fois. L’accès à un tableau de caractères est plus rapide que String.
Définition de String
String est une classe. Donc, il a des attributs, par ex. longueur. Donc, lorsque vous demandez la taille de la chaîne, elle renvoie simplement cette valeur au lieu de calculer la valeur à chaque fois. Il existe également d’autres méthodes, par ex. indexOf(), substring(), etc. pour vous simplifier la vie afin que vous n’ayez pas à le faire vous-même.
Exemple:
string str1= "Hello"; //ou string str2("Hello");
Il y a trois raison pour utiliser la classe String:
- La cohérence
- La commodité
- La sécurité
Conclusion
La différence majeure entre un tableau de caractères et String est que String aura une durée de stockage statique, contrairement à un tableau de caractères, à moins que le mot-clé static ne le précise explicitement.