java的字符链接用什么_java字符串链接的注意

代码如下:

import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String[] args) {

List fileList = new ArrayList();

for (int i = 0; i < 5; i++) {

int theMax = 0;

fileList.add("file" + theMax + i);

}

for (String file : fileList) {

System.out.println(file);

}

}

}

输出:

file00

file01

file02

file03

file04

结果竟然不是:

file0

file1

file2

file3

file4

原因如下:

问题:将一些字符串连接起来 解决之道: 三种方法: 1、直接用+号连接,编译器将构造一个StringBuffer对象,并调用其append方法 2、自己构造StringBuffer对象,有append()方法将返回对StringBuffer对象本身的引用。 3、通过toString方法 代码: /** * StringBufferDemo: 用三种方式构造同样的字符串 */ public class StringBufferDemo { public static void main(String[] argv) { String s1 = "Hello" + ", " + "World"; System.out.println(s1); // 构造StringBuffer对象,并添加一些字符串 StringBuffer sb2 = new StringBuffer(); sb2.append("Hello"); sb2.append(','); sb2.append(' '); sb2.append("World"); // 将StringBuffer值转换为字符串,并输出 String s2 = sb2.toString(); System.out.println(s2); // 现在重复上面的工作,但是采用更为简明的方式 // 典型的“real-world”JAVA StringBuffer sb3 = new StringBuffer().append("Hello"). append(',').append(' ').append("World"); System.out.println(sb3.toString()); } } 小结:事实上,不论修改了StringBuffer中的多少字符,所有的方法append(),delete(),deleteCharAt(),insert(),replace(),reverse()等等都只返回改StringBuffer对象的引用,这样十分有利编程。

fileList.add("file" + theMax + i);这里的写法实际上是调用

StringBuffer的append,那么当我们append(theMax)之后,然后再append(i);

如果想得到file0 file1 file2 file3 file4这样的结果。就需要这样子:

fileList.add("file" + (theMax + i));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值