Maison >Java >javaDidacticiel >La connexion et la différence entre String et StringBuffer en Java
Cet article présente principalement des informations pertinentes et des exemples détaillés de la différence entre String et StringBuffer en Java. Un petit exemple pour tester la différence d'utilisation du temps et de l'espace entre String et StringBuffer. Les amis dans le besoin peuvent s'y référer
<.>Exemples détaillés de la différence entre String et StringBuffer en java
String :
C'est un objet immuable. Une fois créé, sa valeur ne peut pas être modifiée
Les modifications de l'objet String existant consistent à créer un nouvel objet puis à y enregistrer la nouvelle valeur. .
String est une classe finale, c'est-à-dire qu'elle ne peut pas être héritée
StringBuffer :
Il ne peut être créé que via le constructeur,
StringBuffer sb = new StringBuffer();
Après l'objet est créé, il sera en mémoire Il allouera de l'espace mémoire et enregistrera initialement une valeur nulle via sa méthode append Évidemment supérieure à String :
L'objet String est un objet immuable. Chaque fois que Sting est utilisé, un nouvel objet sera recréé pour enregistrer la nouvelle valeur.
public class Test { public static void main(String args[]) { String str = "abc"; StringBuffer sb = new StringBuffer("abc"); Runtime runtime = Runtime.getRuntime(); long start = System.currentTimeMillis(); long startFreememory = runtime.freeMemory(); for (int i = 0; i < 10000; i++) { str += i; //测试StringBuffer时候把注释打开 //sb.append(i); } long endFreememory = runtime.freeMemory(); long end = System.currentTimeMillis(); System.out.println("操作耗时:" + (end - start) + "ms," + "内存消耗:" + (startFreememory - endFreememory)/1024 + "KB"); } }Utilisez String pour ajouter une chaîne à une chaîne 10 000 fois
Temps de fonctionnement : 1872 ms, consommation de mémoire : 1301 Ko
Utilisez StringBuffer pour ajouter une chaîne à une chaîne 10 000 fois Temps de fonctionnement : 15 ms, consommation de mémoire : 162 Ko
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!