导航:首页 > 编程语言 > 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两个字符串连接相关的资料

热点内容
苏宁程序员需要注意什么 浏览:557
主力离场指标源码 浏览:345
makefilelinux命令 浏览:214
电解压力表三根线怎么接 浏览:255
够近物联app怎么样 浏览:329
网络中心服务器是什么 浏览:64
php匹配多次 浏览:347
安卓手机怎么找到不是正常文件的 浏览:291
应届生如何成为程序员 浏览:648
麦德龙app怎么更改配送方式 浏览:43
用ae压缩视频文件 浏览:480
stc单片机跑马灯 浏览:612
服务器四口卡怎么用 浏览:609
匹配python注释 浏览:408
什么是程序员才懂得梗 浏览:396
pdftodwgconverter 浏览:960
linux找不到sqlplus 浏览:399
什么app五险在哪里查询 浏览:925
单片机农历 浏览:438
g70如何编程 浏览:648