亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

哪位大神指導一下關于創建對象的位置StringBuilder sr=new StringBuilder();



public void testString() {

List<String> xs=new ArrayList<String>();

String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

Random random=new Random();

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

StringBuilder sr=new StringBuilder();

do {

int num1=random.nextInt(10)+1;

for(int y=0;y<num1;y++) {

int num= random.nextInt(62);

sr.append(str.charAt(num));

}}while(xs.contains(sr));

xs.add(sr.toString());

}

System.out.println("-------排序前------------");

for (String string : xs) {

System.out.println(string);

}

System.out.println("-------------排序后-------------------------");

Collections.sort(xs);

for (String string : xs) {

System.out.println(string);

}

為什么StringBuilder sr=new StringBuilder();只能在for循環里面創建,如果在for外面創建的話生成的隨機字符串他就會自動排序好了?這是為什么?

正在回答

3 回答

我是寫在循環外面的,最開始也有問題,看控制臺輸出,是因為每次創建完字符串后,不處理StringBuffer對象的話,下次創建的是直接加在后面的;

所以樓主寫里面,每次都新new一個沒問題

寫外面的話,創建完后,要清空一下

0 回復 有任何疑惑可以回復我~

num1 在調用隨機函數的時候為什么要在后面+1呢? 加一和不加一好像沒什么區別啊

0 回復 有任何疑惑可以回復我~

懂了!

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

哪位大神指導一下關于創建對象的位置StringBuilder sr=new StringBuilder();

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號