Java中字符串和boolean类型进行拼接原理

Java中字符串和boolean类型进行拼接原理

字符串和boolean类型进行拼接,java底层做的就是使用StringBuilder进行拼接。了解原理就需要去查看java底层代码。源码如下

//字符串+号拼接默认调用StringBuilder的append方法,源码如下
@Override
    public StringBuilder append(boolean b) {
        super.append(b);
        return this;
    }

-------------------------------------
/*
代码跟进到StringBuilder的父类中,其父类是个抽象类,但是已经实现了此方法。
代码中显而易见,就是扩充了数组(java8中String底层默认是char数组进行存储,
而在java9中改用byte数组进行存储),然后在每个数组位置上填充上这个boolean值。
*/
 public AbstractStringBuilder append(boolean b) {
        if (b) {
            ensureCapacityInternal(count + 4);
            value[count++] = 't';
            value[count++] = 'r';
            value[count++] = 'u';
            value[count++] = 'e';
        } else {
            ensureCapacityInternal(count + 5);
            value[count++] = 'f';
            value[count++] = 'a';
            value[count++] = 'l';
            value[count++] = 's';
            value[count++] = 'e';
        }
        return this;
    }

String类型还可以和其他基本数据类型进行拼接,至于其他的源代码就靠大家自己了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java字符串是非常常用的数据类型,在Java提供了很多字符串相关的操作,比如字符串拼接字符串分割、字符串替换、字符串比较等等。下面我们来逐一介绍这些操作。 1. 字符串拼接 字符串拼接是将两个或多个字符串连接在一起形成一个新的字符串Java有两种方式实现字符串拼接: - 使用“+”运算符 ``` String str1 = "Hello"; String str2 = "World"; String str3 = str1 + " " + str2; ``` - 使用StringBuffer和StringBuilder类 ``` StringBuffer sbf = new StringBuffer(); sbf.append("Hello"); sbf.append(" "); sbf.append("World"); String str = sbf.toString(); ``` 2. 字符串分割 字符串分割是将一个字符串按照指定的分隔符进行分割,Java提供了split()方法实现字符串分割,例如: ``` String str = "Hello,World,Java"; String[] arr = str.split(","); ``` 3. 字符串替换 字符串替换是将一个字符串的某些字符替换成其他字符,Java提供了replace()方法实现字符串替换,例如: ``` String str = "Hello World Java"; String newStr = str.replace(" ", ","); ``` 4. 字符串比较 字符串比较是判断两个字符串是否相等,Java提供了equals()方法实现字符串比较,例如: ``` String str1 = "Hello"; String str2 = "World"; boolean isEqual = str1.equals(str2); ``` 还有一个重要的方法是compareTo(),用于比较两个字符串的大小关系,例如: ``` String str1 = "Hello"; String str2 = "World"; int result = str1.compareTo(str2); // 如果result小于0,则str1小于str2 // 如果result等于0,则str1等于str2 // 如果result大于0,则str1大于str2 ``` 以上就是Java字符串相关操作的简单介绍。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值