字符串特点:字符串是常量;它们的值在创建之后不能更改



字符串的内容一旦发生了变化,那么马上会创建一个新的对象。



注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。

public class Demo1 {
public static void main(String[] args){
String str1 = "hello";
String str2 = str1 + "world" ;
System.out.println("str1与str2是同一个对象吗?"+(str1==str2));
}
}

运行结果:

str1与str2是同一个对象吗?false

如果需要频繁修改字符串的内容,建议使用字符串缓冲类(StringBuffer)。

 

 StringBuffer 其实就是一个存储的容器

容器最基本的作用是

增加 删除 查找 修改

笔试题目:使用StringBuffer无参的构造函数创建一个对象时,默认的初始容量是多少?如果长度不够使用了,自动增长多少倍?

       StringBuffer 底层是依赖了一个字符数组才能存储字符数据的,该字符串数组默认的初始容量是16,如果字符数组的长度不够使用,自动增长1倍。

       

  添加数据

      append();

所以下面的代码能输出超过16个字符的数据

	public static void main(String[] args) {
// 先使用StringBuffer无参的构造函数创建一个字符串缓冲类。
StringBuffer sb = new StringBuffer();
sb.append("java");
sb.append("java");
sb.append("java");
sb.append("java");
sb.append("java");
System.out.println(sb);
}

运行结果:

javajavajavajavajava

JAVA_SE基础——64.StringBuffer类 ①的更多相关文章

  1. JAVA_SE基础——66.StringBuffer类 ③

    如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer). StringBuffer 其实就是一个存储字符 的容器. 容器的具备 的行为 常用方法 String  增加 ap ...

  2. JAVA_SE基础——65.StringBuffer类 ②

    字符串特点:字符串是常量:它们的值在创建之后不能更改.    字符串的内容一旦发生了变化,那么马上会创建一个新 的对象.    注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象 ...

  3. JAVA_SE基础——70.Math类

    package cn.itcast.other; /*  Math 数学类, 主要是提供了很多的数学公式.    abs(double a)  获取绝对值  ceil(double a)  向上取整 ...

  4. JAVA_SE基础——68.RunTime类

    RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRu ...

  5. JAVA_SE基础——67.System类

    System类对大家都不陌生吧! 以前经常需要打印结果时使用的都是"System.out.println()"语句,这句代码中就使用了System类.System类定义了一些与系统 ...

  6. JAVA_SE基础——55.自定义异常类

    在Java中已经提供了大量的异常类,但是这些异常类有时野很难满足开发者的要求,所以用户可以根据自己的需要来定义自己的异常类.但自定义的异常类必须继承自Exception或其子类. 可以自定义出的问题称 ...

  7. JAVA_SE基础——71.Random类制作随机验证码

    public class Demo5 { public static void main(String[] args) { char[] arr={'s','b','g','h','a','c'}; ...

  8. JAVA_SE基础——69.Date类

    package cn.itcast.other; import java.text.ParseException; import java.text.SimpleDateFormat; import ...

  9. JAVA_SE基础——63.String类的常用方法

    获取方法int length()  获取字符串的长度char charAt(int index) 获取特定位置的字符 (角标越界)int indexOf(String str) 查找子串第一次出现的索 ...

随机推荐

  1. 最长k可重线段集问题

    和那道可重区间集一样 不过这道题可能有垂直于x轴的线段,这就很烦了,直接连会有负环,判掉又会WA 可以想办法把r端点和l端点分开,又要保证答案不变 那么直接把区间l,r都乘以2,l=r时r++,否则l ...

  2. 【linux之软件安装,rpm,yum】

    一.软件管理 静态库 动态库静态库:在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库动态库:在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入. 链接是程序调用库的过程. 静 ...

  3. iOS工具——Xcode9无证书真机调试

    入坑iOS开发这么久,一直都是在模拟器上运行,公司的项目也都有公司的开发者账号进行真机调试.但是很多时候在网上download一些demo想在真机上运行看一下效果的时候都没法成行,今天抽空好好研究和学 ...

  4. c#事件的应用

    我已经多次使用c#事件了.举个最近的例子:我用vsto做的一个word插件.这个插件分为两层,业务逻辑层和word外接程序.有这么一个场景,我的ribbon中的一个label是动态显示的.它会随着wo ...

  5. lambda表达式封装对数据库的查询

    前言: 1.为什么要封装lambda表达式数据库查询,原因有一下几点: 1.1.在以往的开发中进行数据库表查询时,其实所需要的字段就是其中几个,但是在开发中,开发者往往习惯select * 进行查询, ...

  6. Liveness 探测 - 每天5分钟玩转 Docker 容器技术(143)

    Liveness 探测让用户可以自定义判断容器是否健康的条件.如果探测失败,Kubernetes 就会重启容器. 还是举例说明,创建如下 Pod: 启动进程首先创建文件 /tmp/healthy,30 ...

  7. 分享基于Qt5开发的一款故障波形模拟软件

    背景介绍 这是一款采用Qt5编写的用于生成故障模拟波形的软件.生成的波形数据用于下发到终端机器生成对应的故障类型,用于培训相关设备维护人员的故障排查技能.因此,在这款软件中实现了故障方案管理.故障波形 ...

  8. 收集nodejs经典组件:

    mysql功能简介:mysql- node.js平台mysql驱动,支持事务.连接池.集群.sql注入检测.多做参数传递写法等特性.主页地址:https://github.com/felixge/no ...

  9. c++ dynamic_cast 和 static_cast 的区别

    今天在看王道宝典的时候看到dynamic_cast ,一直都没用过,也不了解,今天来总结一下. dynamic_cast 和 static_cast 都可以用来强制转换指针类型,但不同的是dynami ...

  10. day1 安装jdk8环境及第一个java程序

    安装jdk8 第一步:下载jdk安装包,我们这里下载orical官网的jdk8版本.