对象.get( ).getId( )==id 如何理解这条程序语句
如何理解java的这种方法,有两种get方法连在一起
这种基本是list集合用的,,比如List中放一个User对象,,通过list.get(0).getId();这个指的就是取出list集合中的第一个对象的Id属性
第一个get返回一个对象,它包含第二个方法,比如
class A
{
public int getid()
{
return 1;
}
public A get()
{
return this;
}
}
调用
A a = new A();
int i = a.get().getid();
你可以点击第一个get进去看一下源码,看他返回的是什么就能理解了,一般情况下,如果不懂的就去找他的实现源码,这样有助于你理解程序的含义。通常,没有人能够根据几句孤立的代码就能猜出用意。【如果是 类名.get().getId()这样的语句的话还好理解,可能是原来的开发人员写了单例模式,通过get拿到具体实例,但 对象.get()这种的话,建议看源码吧】。
通常情况下,这种情况都是第一个get里边的数据是对象的属性,但它自己又是一个子对象,具有若干属性,而第二个对象里面的数据则是这个子对象的属性,getid内部又是一个对象,同事它又是那个子对象的子对象,它有个id属性。
所以 a.get(b ).getId(c)==d 的意思就是从a对象找出比对象中的c对象的id属性赋值为d