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

热点内容
python词典哈希 浏览:97
阿里云服务器没有桌面 浏览:876
如何搭建京东自动做任务服务器 浏览:804
pasword加密原理 浏览:452
程序员学习图 浏览:460
烹饪原料pdf 浏览:903
抖音自己喜欢的视频怎么加密 浏览:872
点播电影用什么服务器 浏览:967
声音解压切巧克力 浏览:23
如何设置无线ftp服务器 浏览:433
解压小哥哥舞蹈视频 浏览:492
历史k线指标源码 浏览:397
php高级程序设计pdf 浏览:244
泰格加密狗能干嘛 浏览:944
文件夹中aaa是什么意思 浏览:331
百宝云app怎么下载 浏览:291
python决策树源码 浏览:935
高通at指令源码 浏览:516
疫就是命令 浏览:47
php读取根目录 浏览:52