en

Joshua Bloch

  • diormuhas quoted2 years ago
    In cases where a class seems to require multiple constructors with the same signature, replace the constructors with static factory methods and carefully chosen names to highlight their differences.
  • diormuhas quotedlast year
    equal objects must have equal hash codes.
  • diormuhas quotedlast year
    well-designed component hides all its implementation details, cleanly separating its API from its implementation. Components then communicate only through their APIs and are oblivious to each others’ inner workings. This concept, known as information hiding or encapsulation
  • diormuhas quotedlast year
    the equality test imposed by the compareTo method should generally return the same results as the equals method
  • diormuhas quotedlast year
    Use of the relational operators < and > in compareTo methods is verbose and error-prone and no longer recommended.
  • diormuhas quotedlast year
    The rule of thumb is simple: make each class or member as inaccessible as possible.
  • diormuhas quotedlast year
    a method overrides a superclass method, it cannot have a more restrictive access level in the subclass than in the superclass
  • diormuhas quotedlast year
    classes with public mutable fields are not generally thread-safe
  • diormuhas quotedlast year
    Note that a nonzero-length array is always mutable, so it is wrong for a class to have a public static final array field, or an accessor that returns such a field.
  • diormuhas quoted4 months ago
    The Boolean.valueOf(boolean) method illustrates this technique: it never creates an object. This technique is similar to the Flyweight pattern [Gamma95]. It can greatly improve performance if equivalent objects are requested often, especially if they are expensive to create.
fb2epub
Drag & drop your files (not more than 5 at once)