adam bien's blog

(T) vs. t.cast in p4j5, or the opensource effect 📎

Immediately after opensourcing the first utilities in the Java EE 5 Patterns project, I got not only many requests for developer role, but also some good feedback. In the ElementLocator utility, I wrote the following code:

   public <T> T getElement(String jndiName,Class<T> t){
        Object component = this.getElement(jndiName);
        return (T)PortableRemoteObject.narrow(component, t);
    }

the problem is the cast, which causes warnings, which is in turn sub-optimal :-).

Robert Herschke sent me the following snippet, which was immediately committed to the trunk:

public <T> T getElement(String jndiName,Class<T> t){
       Object component = this.getElement(jndiName);
       return t.cast(PortableRemoteObject.narrow(component, t));
   }

I invited him to get the developer role, but he had to work :-).