• Java进阶API第三章


    Java进阶API第三章

    一.String存在的问题

    1.认识String的存储:

    2.String的特点:

    String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。

    问题

    一但创建就无法修改,所以只能一直创建。 这样会出现大量的内存占用,浪费大量空间。

    解决: 使用 StringBuffer & StringBuilder 类

    二.StringBuffer 和 StringBuilder 类 

    1.介绍: 

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

    1. 在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。
    2. StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
    3. 由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

    2. StringBuilder

    1. package com.google.apl;
    2. import org.junit.Test;
    3. public class Testing {
    4. @Test
    5. public void dome(){
    6. StringBuilder stringBuilder = new StringBuilder();
    7. // 1.添加字符串,方法append
    8. // 方式一
    9. stringBuilder.append("Hello");
    10. stringBuilder.append("World");
    11. System.out.println(stringBuilder);
    12. // 方式二:链式调用
    13. stringBuilder.append("Hello").append("World");
    14. }
    15. }
    1. StringBuilder stringBuilder = new StringBuilder();
    2. stringBuilder.append("Hello").append("World");
    3. // 2.将字符串倒序,方法reverse()
    4. stringBuilder.reverse();
    5. System.out.println(stringBuilder);
    1. StringBuilder stringBuilder = new StringBuilder();
    2. stringBuilder.append("Hello").append("World");
    3. // 3.尝试减少用于字符序列的存储(置空)。方法:
    4. stringBuilder.trimToSize();
    5. System.out.println("stringBuilder = " + stringBuilder);

    trimToSize()方法用于最小化用于字符的存储,去除未使用的空间,也可以用于将动态数组中的容量调整为数组中的元素个数 

  • 相关阅读:
    使用hping3和wrk模拟泛洪
    idea把项目打成jar包步骤详解
    LeetCode-1710. 卡车上的最大单元数【自定义排序,贪心】
    【QT】day2
    【uniapp】uniapp开发app在线预览pdf文件
    34岁上岸,我终于圆了自己的考研梦
    老卫带你学---leetcode刷题(32. 最长有效括号)
    算法随想录算法训练营第四十三天|300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
    Ubuntu——卸载、安装CUDA
    08-Linux部署RabbitMQ
  • 原文地址:https://blog.csdn.net/2301_76556912/article/details/134335994