JAVA讀書筆記(三)

2021-05-21 22:29:15 字數 545 閱讀 1104

string類沒有提供修改乙個已存在的字串中的某乙個字元的方法,例如:string greeting="hello";如果想把greeting變成"help!",不能直接把greeting的最後一位變成'p'和'!',而是保留需要的字串,將替換的字串通過"+"連線在一起。

greeting=greeting.substring(0,3)+"p!";

string類是不可改變的,就像數字3就是3,字串"hello"總是包含h,e,l,l,o等字元的有序集合,這些字元是不能改變的,只能通過改變變數greeting的內容,使它指向另乙個不同的字串。

這樣是否會導致效率降低?只改變某些字元看起來比建立乙個新的字串簡單,事實上,重新生成字串,並且把"hel"和"p!"拼接起來,並不會影響效率。因為string有乙個巨大的優點:編譯器將字串設定為共享的。可以想象到,許多字串存放在乙個公共的池中。string變數指向池中的某乙個位置。如果拷貝乙個string變數,那麼原來的變數和新的變數都指向同乙個字串。

這裡所說的共享同乙個字串,是對字串常量來說的,對於substring或者+來說,並不適用。

Head First OOA D讀書筆記 三

需求總是在改變。即使你已經得到了很好的use cases,但是你還是可能經常改變你的軟體以適應一些新的需求 main path alternate path,optional path 乙個完整的路徑通過乙個use case,從第一步到最後一步被叫做乙個場景 大多數的use cases擁有許多不同場...

SQL讀書筆記(三)

這一篇記下一些計算字段,非常有用,主要是用在我們需要改變查詢結果格式,一下用到的是mysql的語法,筆記大部分還是來自書本原話。1 拼接字段 拼接 concatenate 將值聯結到一起 將乙個值附加到另乙個值 構成單個值 mysql 拼接字元函式 concat mysql 的concat函式可以實...

effective c 讀書筆記 三

資源就是你用了它,最後還要把它換回去。常見的資源包括 記憶體,檔案描述器,互斥鎖,圖形介面中的字形和筆刷,資料庫連線,以及網路sockets。class investment investment createinvestment void f 上述 如果在delete前過早的執行return語句,...