Details
- 
        Type:
 New Feature
            
         - 
        Status:
 Closed
            
                     - 
            Priority:
 Major
                
             - 
            Resolution: Fixed
 - 
            Affects Version/s: 0.1
 - 
            Fix Version/s: 1.2
 - 
            Component/s: Compatibility
 - 
            Labels:None
 
Description
Tip from Håkan Råberg at http://jroller.com/page/cv/20040310#wicked_reflection_tip:
It's done like this in the IBM JDK: 
From the IBM ObjectInputStream.java: 
/* Allocate a new object for the specified class
- Native since newInstance may not be able to find a zero arg constructor.
*/
private static native Object allocateNewObject(Class aclass, Class initclass) throws InstantiationException, IllegalAccessException; 
Example how to use it to create an Object without default ctor:
Method method = ObjectInputStream.class.getDeclaredMethod("allocateNewObject", new Class[]
{Class.class, Class.class});
method.setAccessible(true);
Locale l= (Locale) method.invoke(null, new Object[]
);
Can you comment on this, Joe? I have IBM JDK 1.4.2 running on Linux in Enhanced Mode.