本文目錄一覽:
java字符串拼接的幾種方式
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數組拼接字符串?
public class Test {
public static void main(String[] args){
String[] str={“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”};//定義字符串數組
method(str);
}
private static void method(String[] s){
if(s==null)
return;
StringBuffer sBuffer=new StringBuffer();
for(int i=0;is.length;i++){//將數組拼接成字符串
sBuffer.append(s[i]);
}
System.out.println(“字符串長度:”+sBuffer.length());
System.out.println(“拼接的字符串:”+sBuffer.toString());
}
}
java字符串的拼接
import java.util.Scanner;
public class dd {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //聲明輸入對象
System.out.println(“請輸入第一個字符串:”) ;//打印友好提示
String first = sc.next(); //阻塞,等待輸入第一個字符串
System.out.println(“請輸入第一個字符串:”); //打印友好提示
String second = sc.next(); //阻塞,等待輸入第二個字符串
String s = first+second; //進行拼接
System.out.println(“您輸入的字符串拼接後的結果為:”+s); //打印拼接結果
}
}
純手打,求給分!絕對妥妥的!
這樣可以么?
java字符串拼接
不是指向同一個對象的。
假設再有個語句,String e = “test3”;因為String是final的,不可修改,所以可以把e看成常量。
當再遇到String d=”test”+”3″時,編譯器在這裡做了優化,把這條語句優化為String d=”test3″,由於存在一個相同的對象e,所以d也指向了e.
所以d、e是同一個對象。
而編譯器在處理String c=a+b時,認為是兩個變量相加,不會做優化。所以c,d不是同一個對象。
如果將a,b定義為
final String a = “test”;
final String b=”3″;
這時String c=a+b就變成了常量相加,所以編譯器會對其進行優化,即這時c,d就相等了
ps:推薦樓主一本書《深入java虛擬機》,對java的底層機制有很好的介紹。
java8中如何將多個集合的數據拼接成一個統一的流
java8中stream的提供了一個拼接流的方法Stream.concat,可以將兩個stream拼接成一個stream, 保持了兩個stream中的元素順序。
那麼如果我們需要對多個集合中的元素拼接成一個stream來統一處理,可以怎麼做呢?
比如有三個CollectionString c1, c2, c3.
方法一,使用Stream.concat方法來拼接,可以使用一個for循環來處理。
private static StreamString concat1(ListCollectionString collections) {
Stream result = Stream.empty();
for (CollectionString strings : collections) {
result = Stream.concat(result, strings.stream());
}
return result;
}
方法二,使用flatMap方法,將集合變成stream, 再壓平
private static StreamString concat2(ListCollectionString collections) {
return collections.stream()
.flatMap(Collection::stream);
}
對於不同集合類型的數據,如何做成一個統一的流?還是可以使用flatMap方法來做
方法三:
private static StreamString concat3(ListString s1,String[] s2, SetString s3) {
return Stream.of(s1.stream(), Arrays.stream(s2), s3.stream())
.flatMap(Function.identity());
}
方法三和方法二相比,可以使用不同類型的集合類型來拼接流,方法二在擁有共同基類的情況下使用會顯得簡潔很多。
JAVA如何拼接數字
public class IntTest {
static int joint(int x, int y) {
// 為提高字符串拼接的效率,使用StringBuilder而不使用String
StringBuilder sb = new StringBuilder();
sb = sb.append(x);// 在字符串結尾添加入x
sb = sb.append(y);// 在字符串結尾添加入y
int result = -1;
try {
result = Integer.valueOf(sb.toString());// 將得到的字符串轉為int類型
} catch (NumberFormatException e) {
}
// 返回-1表示操作失敗
return result;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int result = joint(2, 4);// 調用函數
System.err.println(result);// 測試結果
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/283515.html