导航:首页 > 编程语言 > java两个字符串连接

java两个字符串连接

发布时间:2022-10-25 13:55:09

java怎么把2个字符串拼接在一起

String类的方法:

①利用运算符"+"

②public String concat(String str)进行字符串的拼接操作

StringBuffer的方法:

①public StringBuffer append(String str)将str添加到当前字符串缓冲区的字符序列的末尾

②public StringBuffer insert(int offset,String str)在当前字符串缓冲区的字符序列的下标

索引offset插入str。如果offset等于旧长度,则str添加在字符串缓冲区的尾部

如图所示

② Java字符串连接

1. String类是final修饰的不可变类,+号运算,会创建一些对象进行操作。

StringBuffer与StringBuilder,是可改变的对象,每当使用这两个对象对字符串做操作时, 实际上是在一个对象上操作的,所以速度快 .


2. StringBuilder:线程非安全的

StringBuffer:线程安全的

3. 大量字符串数据时的性能 StringBuilder > StringBuffer >String


使用情况的说明:

1. String + : 适合比较少量的字符串数据拼接

(比如System.out.println("姓名:"+name+"年龄:"+age))


2. StringBuilder : 大量字符串数据, 单线程下使用

(比如,一个main线程里进行,无其他线程)


3.StringBuffer : 大量字符串数据, 多线程下使用

(比如,多个Thread去操作)

③ java 中concat连接两个字符串,其中一个设为null,那返回的值就是null吗

不是。

或b任一为null,均会抛出空指针异常;

public String concat(String str) {

int otherLen = str.length();

if (otherLen == 0) {

return this;

}

int len = value.length;

char buf[] = Arrays.Of(value, len + otherLen);

str.getChars(buf, len);

return new String(buf, true);
}

④ java两个字符串使用+拼接字符串,在内存中是怎样实现的

你好:c存放内存,str存放内存,之后加好连接后指向一个新的内存存放reslut(str结果),new的话都会在堆中创建,在栈(Stack)中如果数值存在的话,就不会创建了。以下就是说明的+的实现过程,他实际上是new的,所以在堆中会创建,即占用新的内存,如果str不等于result的话,还会在栈(Stack)中创建。
str += "c";等效于:str = new StringBuffer(str).append("c").toString();
虽然编译器对字符串加号做了优化,它会用StringBuffer的append方法进行追加。再是通过toString方法转换成String字符串的。
它与纯粹的append方法是不同的:
一是每次都要创建一个StringBuilder对象;
二是每次执行完毕都要调用toString方法将其转换为字符串。

阅读全文

与java两个字符串连接相关的资料

热点内容
解压ae要多久 浏览:49
江苏省超级服务器云主机 浏览:158
星际译王linux安装 浏览:4
导微信账单不发解压码是什么情况 浏览:94
如何手动删除安卓app 浏览:9
帝国时代2征服者解压包怎么安装 浏览:947
python抓取url 浏览:919
有些硬盘能加密 浏览:635
安卓车机怎么换开局动画 浏览:687
安卓手机如何设置卸载软件 浏览:86
用友加密狗号给别人 浏览:219
电脑里面怎么找到编译器 浏览:493
编译速度与相关 浏览:294
我的奋斗罗永浩pdf微盘 浏览:505
方舟编译器优化怎么样 浏览:868
pclogo填充命令 浏览:242
无锡php工作机会多么 浏览:52
当程序员知道客户还在用ie 浏览:889
python运维监控系统 浏览:994
windows泄露代码编译 浏览:406