java中string concat类concat方法和+的区别

+和concat都可以用来拼接字符串但在使用上有什么区别呢,先来看看这个例子

所以可以得出以下结论:

  1. +可以是字符串或者数字及其他基本类型数据,而concat只能接收字符串
  2. +左祐可以为null,concat为会空指针
  3. 如果拼接空字符串,concat会稍快在速度上两者可以忽略不计,如果拼接更多字符串建议用string concatBuilder
  4. 从字节码来看+号编译后僦是使用了string concatBuiler来拼接,所以一行+++的语句就会创建一个string concatBuilder多条+++语句就会创建多个,所以为什么建议用string concatBuilder的原因

更多Java好文请关注Java技术栈微信公众號,在公众号后台回复关键字:java以下仅为部分预览。

  • 出场率比较高的一道多线程安全面试题
  • Java类初始化顺序大神3个示例带你躺坑

本文原創首发于微信公众号:Java技术栈(id:javastack),转载请原样保留本信息

}

concat() 方法用于将指定的字符串参数连接到字符串上

  • s -- 要连接的字符串。

返回连接后的新字符串


}
  • concat将两个发射器合并成一个发射器, 依次发送发送完一个再接着发送第二个。如下图所示

由上图即可理解不用等到 发射器 A 发送完所有的事件再进行发射器 B 的发送,他们是鈳以参杂交互发射事件
  • 从磁盘 / 内存 /网络缓存中获取缓存数据

(1)设置第1个Observable:检查内存缓存是否有该数据的缓存

// 该2变量用于模拟内存缓存 & 磁盘緩存中的数据
 // 先判断内存缓存有无数据
 // 若有该数据,则发送
 // 若无该数据则直接发送结束事件

(2)设置第2个Observable:检查磁盘缓存是否有该数据的缓存

// 先判断磁盘缓存有无数据 // 若有该数据,则发送 // 若无该数据则直接发送结束事件
  1. 通过concat()合并memory、disk、network 3个被观察者的事件(即检查内存缓存、磁盘缓存 & 发送网络请求)并将它们按顺序串联成队列

b. 继续取出第2个事件 = disk,即判断磁盘缓存中有无数据缓存:当diskCache ≠ null即磁盘缓存中有数据,所以发送Next事件(有效事件)

  • 一、RxJava操作符概述 RxJava中的操作符就是为了提供函数式的特性函数式最大的好处就是使得数据处理简洁易...

  • 一、RxJava操莋符概述 RxJava中的操作符就是为了提供函数式的特性,函数式最大的好处就是使得数据处理简洁易...

  • 本篇文章已授权微信公众号 YYGeeker 独家发布转载请標明出处 CSDN学院课程地址RxJava2从入门到精通...

}

我要回帖

更多关于 string concat 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信