Is there any differences between doing
Field field = something.getSomethingElse().getField(); if (field == 0) { //do something } somelist.add(field);
Not if you have a good JVM, like HotSpot from Sun. It will in-line and compile (to native code) the getters.
Using getters is generally a very good practice, as a defensive measure, and general Information Hiding.