public class Testsac {
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网站空间、营销软件、网站建设、东洲网站维护、网站推广。
public static void main(String[] args) {
// TODO Auto-generated method stub
Testsac test=new Testsac();
test.setAction1(()-System.out.print("Action 1!"));//()表示无参数,调用无参数的m();
test.setAction2(e-System.out.print(e+" "));//这行代码同等于(e)-{System.out.print(e+" ")}
//只有一个参数时,可省略参数括号,绝大多数情况下都可以省略参数类型,javac可以根据上下文推断出参数类型
//只有一行语句时,{}可以省略
//这里e=T2的实例。
System.out.println(test.setAction3(e -e * 2));
//这里e=T3的实例
}
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);
}
第一个if是判断searchkey是不是空的,如果不是空的,就追加到name字段作为查询条件,like模糊查询
接着第二个if判断如果status的值不为空,就追加到status作为条件
如果status为空,走else分支,从userContext中获取到employee对象,接着判断,如果它的角色不是manager的话
把这个对象的id拿出来,作为seller.Id的条件进行查询
44行:是重写了对象的equals方法,是用来比较两个对象是否相同的,按照上面的代码就是,如果两个person对象的name属性和age属性相同的话用equals比较时,则认为是相同的。
78行:sop是自己写的一个方法,这个要自己看源码是干什么的,里面的参数是一个boolean值,值的来源为arraylist的方法remove的返回。
关于remove可以参看java的API:简单如下解释
public boolean remove(Object o)从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。更正式地说,如果列表包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除该元素。如果列表中包含指定的元素,则返回 true(或者等同于这种情况:如果列表随调用的结果而发生改变,则返回 true)。