早上上課
筆記:
Exception 構造函數需要有一個Trowable參數. ??拋異常的時候要改變異常類型參數應加上原來的異常.
不想處理 的異常 可以使用RuntimeException.
盡量不要修改參數
集合的遍歷 使用foreach 不能增減.
增減 使用 Iterator iter = lines.iterator();
while (iter.hasNext())
{ iter.remove(); }
正則表達式:
//p
{Blank}
:?匹配空格和TAB
//p
{Digit}
: ?0~9 的數字
matches() fide() 都返回bool值 區(qū)別: ? find 只要能夠有 matches() 完全滿足正則表達式.
group(0):取出某個Pattern通過compile 保存的全部變量
1 public BigDecimal add(BigDecimal value); //加法
2 public BigDecimal subtract(BigDecimal value); //減法
3 public BigDecimal multiply(BigDecimal value); //乘法
4 public BigDecimal divide(BigDecimal value); ? //除法
設置精度::
decinal(10, 5) 10:保留幾位數5:小數點后有幾位
SetScale(int n,進位和退位的策略)會返回一個新的對象
進位和退位策略:
RoundingMode.ROUND_HALF_UP ? ? ? ? //四舍五入
RoundingMode.ROUND_HALF_DOWN ?//向下取整
RoundingMode.ROUND_UP ? ? ? ? ? ? ? ? ? ? //向上取整
RoundingMode.ROUND_DOWN ? ? ? ? ? ? //舍去末位
FastDataFormat
1:intcompare_and_swap(int* reg,intoldval,intnewval)
2:{
3:ATOMIC();
4:intold_reg_val = *reg;
5:if(old_reg_val == oldval)
6:*reg = newval;
7:END_ATOMIC();
8:returnold_reg_val;
9:}
Objects
equal方法Objects.equal("a","a");// returnstrueObjects.equal(null,"a");// returnsfalseObjects.equal("a",null);// returnsfalseObjects.equal(null,null);// returnstrue
HashCode中使用的hash函數和編程珠璣中的hash函數非常像, 共同點是 乘31 ?即位移5位再減一.高效!
//用跟元素個數最接近的質數作為散列表的大小#define NHASH 29989#define MULT 31unsigned in hash(char*p) {? ? unsignedinth = 0;for(; *p; p++)? ? ? ? h = MULT *h + *p;returnh % NHASH;}
publicstaticinthashCode(Objecta[]) {if(a ==null)return0;intresult = 1;for(Objectelement : a)? ? ? ? ? ? result = 31 * result + (element ==null? 0 : element.hashCode());returnresult;? ? }
ComparisonChain:執(zhí)行比較操作直至發(fā)現非零的結果,在那之后的比較輸入將被忽略。寫錯地方了 ??? 這明明是ComparisonChain類!
因為compareTo方法中會用到拉,
publicintcompareTo(Foo that) {returnComparisonChain.start()? ? ? ? ? ? .compare(this.aString, that.aString)? ? ? ? ? ? .compare(this.anInt, that.anInt)? ? ? ? ? ? .compare(this.anEnum, that.anEnum, Ordering.natural().nullsLast())? ? ? ? ? ? .result();}
ToStringHelper:.....我在源碼中看到了什么!
@Deprecatedpublicstaticfinalclass ToStringHelper
是一個 ?內部 靜態(tài) ?final ? 不贊成使用! 的類 ... ?很好還棄用?
里邊重寫了toString方法 ?相比原來的方法多了
{? ,? }
這.... 為了好看???
原來是為了輸出ValueHolder ,
privatestaticfinalclass ValueHolder {Stringname;Objectvalue;? ? ? ValueHolder next;? ? }
看起來有點像map...