public?class?Testsac?{
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、東洲網(wǎng)站維護(hù)、網(wǎng)站推廣。
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Testsac?test=new?Testsac();
test.setAction1(()-System.out.print("Action?1!"));//()表示無參數(shù),調(diào)用無參數(shù)的m();
test.setAction2(e-System.out.print(e+"?"));//這行代碼同等于(e)-{System.out.print(e+"?")}
//只有一個(gè)參數(shù)時(shí),可省略參數(shù)括號(hào),絕大多數(shù)情況下都可以省略參數(shù)類型,javac可以根據(jù)上下文推斷出參數(shù)類型
//只有一行語句時(shí),{}可以省略
//這里e=T2的實(shí)例。
System.out.println(test.setAction3(e?-e?*?2));
//這里e=T3的實(shí)例
}
public?void?setAction1(T1?t)?{
t.m();
}
public?void?setAction2(T2?t)?{
t.m(4.5);
}
public?double?setAction3(T3?t)?{
return?t.m(5.5);
}
}
interface?T1{
public?void?m();
}
interface?T2{
public?void?m(Double?d);
}
interface?T3{
public?double?m(Double?d);
}
第一個(gè)if是判斷searchkey是不是空的,如果不是空的,就追加到name字段作為查詢條件,like模糊查詢
接著第二個(gè)if判斷如果status的值不為空,就追加到status作為條件
如果status為空,走else分支,從userContext中獲取到employee對(duì)象,接著判斷,如果它的角色不是manager的話
把這個(gè)對(duì)象的id拿出來,作為seller.Id的條件進(jìn)行查詢
44行:是重寫了對(duì)象的equals方法,是用來比較兩個(gè)對(duì)象是否相同的,按照上面的代碼就是,如果兩個(gè)person對(duì)象的name屬性和age屬性相同的話用equals比較時(shí),則認(rèn)為是相同的。
78行:sop是自己寫的一個(gè)方法,這個(gè)要自己看源碼是干什么的,里面的參數(shù)是一個(gè)boolean值,值的來源為arraylist的方法remove的返回。
關(guān)于remove可以參看java的API:簡單如下解釋
public boolean remove(Object o)從此列表中移除指定元素的單個(gè)實(shí)例(如果存在),此操作是可選的。更正式地說,如果列表包含一個(gè)或多個(gè)滿足 (o==null ? e==null : o.equals(e)) 的元素 e,則移除該元素。如果列表中包含指定的元素,則返回 true(或者等同于這種情況:如果列表隨調(diào)用的結(jié)果而發(fā)生改變,則返回 true)。