除了用Stringbuffer之外 还有什么方法可以吧上面的数组直接变为:
String str1 = "我爱你中国";
18 个解决方案
#1
正则 删除多余的
#2
只能遍历,然后合并
因为数组里面对应的是不同的地址。
for(String s:str){
str1+=s.replaceAll(正则表达式,"");
}
因为数组里面对应的是不同的地址。
for(String s:str){
str1+=s.replaceAll(正则表达式,"");
}
#3
String[] str = {"我","爱","你","中","国"};
String result=org.apache.commons.lang.StringUtils.join(str);
#4
正则表达式是什么?
#5
String[] str = {"我","爱","你","中","国"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++)
{
sb. append(str[i]);
}
String s = sb.toString();
要不是String的数组,char啥的用构造函数就行
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++)
{
sb. append(str[i]);
}
String s = sb.toString();
要不是String的数组,char啥的用构造函数就行
#6
+1
#7
你这个应该还用不到replace,直接str+=s;就可以了。
#8
没什么办法最好就是for循环用StringBuilder了String累加的方式如果数组的数据多了很吃内存
#9
如果你的字符串里面没有 [ ] , 和空格的话,可以用这个
String str1=Arrays.toString(str).replaceAll("[\\[\\], ]", "");
强烈推荐StringBuilder 循环处理
String str1=Arrays.toString(str).replaceAll("[\\[\\], ]", "");
强烈推荐StringBuilder 循环处理
#10
看你的要求了。如果你就像你例子中的那个,就不需要这一步了。
#11
String[] str={"我","爱","你","中","国"};
String str1="";
for(int i=0;i<str.length;i++){
str1=str1.concat(str[i]);//和下面的一行二选一即可
//str1+=str[i];
}
System.out.println(str1);
String str1="";
for(int i=0;i<str.length;i++){
str1=str1.concat(str[i]);//和下面的一行二选一即可
//str1+=str[i];
}
System.out.println(str1);
#12
public class StringTest {
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
changePrint(str);
}
//将一个字符串数组直接以字符串的形式输出
public static void changePrint(String[] value){
//动态添加字符串
StringBuilder sb=new StringBuilder("");
for (int i = 0; i < value.length; i++) {
sb.append(value[i]);
}
System.out.println(sb.toString());
}
}
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
changePrint(str);
}
//将一个字符串数组直接以字符串的形式输出
public static void changePrint(String[] value){
//动态添加字符串
StringBuilder sb=new StringBuilder("");
for (int i = 0; i < value.length; i++) {
sb.append(value[i]);
}
System.out.println(sb.toString());
}
}
#13
你也可以直接使用String类库中的方法,将字符串数组转化成单个的字符串输出。程序代码如下
public class StringTest {
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
directionPrint(str);
}
//将字符串数组转化成单个字符串直接输出
public static void directionPrint(String[] value){
for (int i = 0; i < value.length; i++) {
System.out.print(value[i].toCharArray());
}
}
}
public class StringTest {
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
directionPrint(str);
}
//将字符串数组转化成单个字符串直接输出
public static void directionPrint(String[] value){
for (int i = 0; i < value.length; i++) {
System.out.print(value[i].toCharArray());
}
}
}
#14
可以用String.format,仅是一种凑数的解决方法
public static void main(String[] args){
String[] str = {"我","爱","你","中","国"};
final String FORMAT = "%s";
String format = "";
for(int i = 0;i < str.length;++i) {
format += FORMAT;
}
String str1 = String.format(format, str);
System.out.println(str1);
}
#15
我超级喜欢StringUtils,甚至当时和sun说过,考虑直接放到jdk里面...
#16
我是来看坦克哥的
#17
来学习下
#18
这个方法是可行的,起始看内部的该方法的实现,还是通过循环遍历进行拼接:
public static String join(Object array[])
{
return join(array, ((String) (null)));
}
public static String join(Object array[], String separator)
{
if(array == null)
return null;
else
return join(array, separator, 0, array.length);
}
public static String join(Object array[], String separator, int startIndex, int endIndex)
{
if(array == null)
return null;
if(separator == null)
separator = "";
int bufSize = endIndex - startIndex;
if(bufSize <= 0)
return "";
bufSize *= (array[startIndex] != null ? array[startIndex].toString().length() : 16) + separator.length();
StrBuilder buf = new StrBuilder(bufSize);
for(int i = startIndex; i < endIndex; i++)
{
if(i > startIndex)
buf.append(separator);
if(array[i] != null)
buf.append(array[i]);
}
return buf.toString();
}
提供楼主参考!
#1
正则 删除多余的
#2
只能遍历,然后合并
因为数组里面对应的是不同的地址。
for(String s:str){
str1+=s.replaceAll(正则表达式,"");
}
因为数组里面对应的是不同的地址。
for(String s:str){
str1+=s.replaceAll(正则表达式,"");
}
#3
String[] str = {"我","爱","你","中","国"};
String result=org.apache.commons.lang.StringUtils.join(str);
#4
正则表达式是什么?
#5
String[] str = {"我","爱","你","中","国"};
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++)
{
sb. append(str[i]);
}
String s = sb.toString();
要不是String的数组,char啥的用构造函数就行
StringBuffer sb = new StringBuffer();
for(int i = 0; i < str.length; i++)
{
sb. append(str[i]);
}
String s = sb.toString();
要不是String的数组,char啥的用构造函数就行
#6
+1
#7
你这个应该还用不到replace,直接str+=s;就可以了。
#8
没什么办法最好就是for循环用StringBuilder了String累加的方式如果数组的数据多了很吃内存
#9
如果你的字符串里面没有 [ ] , 和空格的话,可以用这个
String str1=Arrays.toString(str).replaceAll("[\\[\\], ]", "");
强烈推荐StringBuilder 循环处理
String str1=Arrays.toString(str).replaceAll("[\\[\\], ]", "");
强烈推荐StringBuilder 循环处理
#10
看你的要求了。如果你就像你例子中的那个,就不需要这一步了。
#11
String[] str={"我","爱","你","中","国"};
String str1="";
for(int i=0;i<str.length;i++){
str1=str1.concat(str[i]);//和下面的一行二选一即可
//str1+=str[i];
}
System.out.println(str1);
String str1="";
for(int i=0;i<str.length;i++){
str1=str1.concat(str[i]);//和下面的一行二选一即可
//str1+=str[i];
}
System.out.println(str1);
#12
public class StringTest {
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
changePrint(str);
}
//将一个字符串数组直接以字符串的形式输出
public static void changePrint(String[] value){
//动态添加字符串
StringBuilder sb=new StringBuilder("");
for (int i = 0; i < value.length; i++) {
sb.append(value[i]);
}
System.out.println(sb.toString());
}
}
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
changePrint(str);
}
//将一个字符串数组直接以字符串的形式输出
public static void changePrint(String[] value){
//动态添加字符串
StringBuilder sb=new StringBuilder("");
for (int i = 0; i < value.length; i++) {
sb.append(value[i]);
}
System.out.println(sb.toString());
}
}
#13
你也可以直接使用String类库中的方法,将字符串数组转化成单个的字符串输出。程序代码如下
public class StringTest {
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
directionPrint(str);
}
//将字符串数组转化成单个字符串直接输出
public static void directionPrint(String[] value){
for (int i = 0; i < value.length; i++) {
System.out.print(value[i].toCharArray());
}
}
}
public class StringTest {
public static void main(String[] args) {
String[] str={"我","爱","你","中","国"};
directionPrint(str);
}
//将字符串数组转化成单个字符串直接输出
public static void directionPrint(String[] value){
for (int i = 0; i < value.length; i++) {
System.out.print(value[i].toCharArray());
}
}
}
#14
可以用String.format,仅是一种凑数的解决方法
public static void main(String[] args){
String[] str = {"我","爱","你","中","国"};
final String FORMAT = "%s";
String format = "";
for(int i = 0;i < str.length;++i) {
format += FORMAT;
}
String str1 = String.format(format, str);
System.out.println(str1);
}
#15
我超级喜欢StringUtils,甚至当时和sun说过,考虑直接放到jdk里面...
#16
我是来看坦克哥的
#17
来学习下
#18
这个方法是可行的,起始看内部的该方法的实现,还是通过循环遍历进行拼接:
public static String join(Object array[])
{
return join(array, ((String) (null)));
}
public static String join(Object array[], String separator)
{
if(array == null)
return null;
else
return join(array, separator, 0, array.length);
}
public static String join(Object array[], String separator, int startIndex, int endIndex)
{
if(array == null)
return null;
if(separator == null)
separator = "";
int bufSize = endIndex - startIndex;
if(bufSize <= 0)
return "";
bufSize *= (array[startIndex] != null ? array[startIndex].toString().length() : 16) + separator.length();
StrBuilder buf = new StrBuilder(bufSize);
for(int i = startIndex; i < endIndex; i++)
{
if(i > startIndex)
buf.append(separator);
if(array[i] != null)
buf.append(array[i]);
}
return buf.toString();
}
提供楼主参考!