java stringbuffer的用法示例。本站提示廣大學習愛好者:(java stringbuffer的用法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是java stringbuffer的用法示例正文
MiniTest 是新一代的 Ruby 測試框架,它曾經成為 Ruby 1.9 的內置測試框架,聽說它也將成為Rails 4的默許測試框架,可謂前程一片光亮。
MiniTest 為何成為最新 Ruby 和 Rails 的首選,它有哪些吸惹人的器械呢?
Ruby 1.8時期,Ruby 和 Rails 的默許測試框架都是 TestUnit,TestUnit 汗青悠長,它最年夜的成績是太慢,太癡肥了,它包括了一堆如今很少應用的第三方庫,好比GTk v1, GTk v2, FxRuby,別的一個年夜成績的是它缺少一些根本的測試特征,好比 spec DSL的測試作風,好比 mock 支撐等等。
MiniTest 相當於對 TestUnit 做了一次年夜的重構創新,它繼續了 TestUnit 年夜部門用法,清除 TestUnit 中不適當的依附,別的增長了根本的測試特征,好比 spec 和 mock等,全體上變得相當疾速,簡略整潔。
在 Ruby 和 Rails 的世界,有一個測試框架 Rspec 應用也長短常普遍的,乃至今朝應用普遍水平跨越 TestUnit 和 MiniTest,它為何沒有成為默許框架呢?我想 MiniTest 絕對於 Rspec 最年夜的優勢是簡略和延續性,Rspec 比擬 MiniTest 要宏大龐雜很多,固然功效也更壯大,關於內置 Ruby 的類庫來講,照樣簡略和堅持延續(絕對 TestUnit)更有優勢。關於 Rails 來講,Rails 之父 DHH 和 Rspec 一向對不上眼,我想是 Rails 終究選擇 MiniTest 最年夜的緣由,哈哈。
MiniTest 應用示例
假如你用過 TestUnit,MiniTest 應用異常簡略,上面是一個測試的 Hello World
class HelloWold
def get_word
"Hello World!"
end
end
測試代碼
require 'minitest/autorun'
class HelloWoldTest < MiniTest::Unit::TestCase
def test_get_word
assert_equal "Hello World!", HelloWold.new.get_word
end
end
測試代碼, spec作風
require 'minitest/autorun'
describe HelloWold do
it "should return hello world" do
HelloWold.new.get_word.must_equal "Hello World!"
end
end
假如要在 Rails 項目應用 MiniTest,可使用 gem minitest-rails,應用 minitest-rails 以後,rails generator 生成的 test 就都轉換為 minitest 作風代碼。
總結
MiniTest 相當簡略疾速,它延續 TestUnit用法,上手異常快,同時它又供給了一些異常棒的特征,試用上去認為異常不錯,難怪它成為最新 Ruby 和 Rails 的首選,我盤算往後就用它了。
",index2="+index2+",len="+len+",str="+str);修正(update)
StringBuffer replace(start,end,string);
void setCharAt(int index,char ch); 只可以調換某一個字符
public static void Method_Update(){
StringBuffer sb1 = new StringBuffer("javascript");
StringBuffer sb2 = sb1.replace(4,10,"ee");
System.out.println(sb2);
sb1.setCharAt(1,'b');
System.out.println(sb1);
}
其他經常使用的辦法:
反轉 StringBuffer reverse();
設置StringBuffer容器的長度setLength();
將緩沖區中指定命據存儲到指定字符數組中void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);
public static void Method_Other() {
StringBuffer sb = new StringBuffer();
//設置長度
sb.setLength(4);
System.out.println(sb.length());
//將字符串反轉
StringBuffer sb1 = new StringBuffer("huangjianfeng");
sb1 = sb1.reverse();
System.out.println(sb1);
// 將緩沖區中指定命據存儲到指定字符數組中
char[] arr = new char[15];
StringBuffer sb2 = new StringBuffer("huangjianfeng");
sb2.getChars(0, 7, arr, 3);
for(char sbs : arr){
System.out.print(sbs);
}
}
JDK1.5版本以後湧現了StringBuilder
StringBuilder是線程分歧步的,平日用於單線程進步效力 Stringbuffer是線程同步的,平日用於多線程 開辟建議應用StringBuilder,晉升效力
進級三個身分:進步效力簡化書寫進步平安性