Mega Code Archive

 
Categories / Java by API / Java Lang
 

Int class

/* Before: [a=21.25, b=54.5, c=5665, d=2043, e=3121, f=1019] After: [a=21.25, b=54.5, c=0, d=0, e=0, f=0] */ /*  *  * This software is granted under the terms of the Common Public License,  * CPL, which may be found at the following URL:  * http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm  *  * Copyright(c) 2003-2005 by the authors indicated in the @author tags.  * All Rights are Reserved by the various authors.  * ########## DO NOT EDIT ABOVE THIS LINE ########## */ import java.lang.reflect.Field; /**    * Demonstrates how to set public field objects.  *  * @author <a href=mailto:kraythe@arcor.de>Robert Simmons jr. (kraythe)</a>  * @version $Revision: 1.3 $  */ public class HiddenFieldModification {   /**     * Sets all int fields in an object to 0.    *    * @param obj The object to operate on.    *    * @throws RuntimeException If there is a reflection problem.    */   public static void initIntFields(final Object obj) {     try {       Field[] fields = obj.getClass()                         .getDeclaredFields();       for (int idx = 0; idx < fields.length; idx++) {         if (fields[idx].getType() == int.class) {           fields[idx].setAccessible(true);           fields[idx].setInt(obj, 0);         }       }     } catch (final IllegalAccessException ex) {       throw new RuntimeException(ex);     }   }   /**     * Demo Method.    *    * @param args Command line arguments.    */   public static final void main(final String[] args) {     SomeNumbers value = new SomeNumbers();     System.out.println("Before: " + value);     initIntFields(value);     System.out.println("After: " + value);   } } class SomeNumbers {   /** A demo double. */   public double a = 21.25d;   /** A demo float. */   public float b = 54.5f;   /** A Demo int */   public int c = 5665;   /** Another demo int. */   public int d = 2043;   /** Another demo int. */   protected int e = 3121;   /** Another demo int. */   private int f = 1019;   /**     * @see java.lang.Object#toString()    */   public String toString() {     return new String("[a=" + a + ", b=" + b + ", c=" + c + ", d=" + d + ", e=" + e                       + ", f=" + f + "]");   } }