本文整理匯總了Java中java.lang.reflect.Field.getChar方法的典型用法代碼示例。如果您正苦於以下問題:Java Field.getChar方法的具體用法?Java Field.getChar怎麽用?Java Field.getChar使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.lang.reflect.Field
的用法示例。
在下文中一共展示了Field.getChar方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getChar
import java.lang.reflect.Field; //導入方法依賴的package包/類
public static char getChar(Object instance, Field f)
{
try {
return f.getChar(instance);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
示例2: getField
import java.lang.reflect.Field; //導入方法依賴的package包/類
public static Object getField(Object instance, Field field) throws IllegalAccessException {
if (UNSAFE != null) {
if (int.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getInt(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (long.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getLong(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (double.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getDouble(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (void.class.equals(field.getType())) {
return null;
} else if (float.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getFloat(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (byte.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getByte(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (char.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getChar(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (boolean.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getBoolean(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else if (short.class.equals(field.getType())) {
return ((sun.misc.Unsafe) UNSAFE).getShort(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
} else {
return ((sun.misc.Unsafe) UNSAFE).getObject(instance, ((sun.misc.Unsafe) UNSAFE).objectFieldOffset(field));
}
} else { //Fallback if unsafe isn't available
field.setAccessible(true);
if (int.class.equals(field.getType())) {
return field.getInt(instance);
} else if (long.class.equals(field.getType())) {
return field.getLong(instance);
} else if (double.class.equals(field.getType())) {
return field.getDouble(instance);
} else if (void.class.equals(field.getType())) {
return null;
} else if (float.class.equals(field.getType())) {
return field.getFloat(instance);
} else if (byte.class.equals(field.getType())) {
return field.getByte(instance);
} else if (char.class.equals(field.getType())) {
return field.getChar(instance);
} else if (boolean.class.equals(field.getType())) {
return field.getBoolean(instance);
} else if (short.class.equals(field.getType())) {
return field.getShort(instance);
} else {
return field.get(instance);
}
}
}
示例3: equals
import java.lang.reflect.Field; //導入方法依賴的package包/類
/**
* An introspection based equality predicate for SIPObjects.
*@param other the other object to test against.
*/
public boolean equals(Object other) {
if (!this.getClass().equals(other.getClass()))
return false;
SIPObject that = (SIPObject) other;
Class myclass = this.getClass();
Class hisclass = other.getClass();
while (true) {
Field[] fields = myclass.getDeclaredFields();
if (!hisclass.equals(myclass))
return false;
Field[] hisfields = hisclass.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field f = fields[i];
Field g = hisfields[i];
// Only print protected and public members.
int modifier = f.getModifiers();
if ((modifier & Modifier.PRIVATE) == Modifier.PRIVATE)
continue;
Class fieldType = f.getType();
String fieldName = f.getName();
if (fieldName.compareTo("stringRepresentation") == 0) {
continue;
}
if (fieldName.compareTo("indentation") == 0) {
continue;
}
try {
// Primitive fields are printed with type: value
if (fieldType.isPrimitive()) {
String fname = fieldType.toString();
if (fname.compareTo("int") == 0) {
if (f.getInt(this) != g.getInt(that))
return false;
} else if (fname.compareTo("short") == 0) {
if (f.getShort(this) != g.getShort(that))
return false;
} else if (fname.compareTo("char") == 0) {
if (f.getChar(this) != g.getChar(that))
return false;
} else if (fname.compareTo("long") == 0) {
if (f.getLong(this) != g.getLong(that))
return false;
} else if (fname.compareTo("boolean") == 0) {
if (f.getBoolean(this) != g.getBoolean(that))
return false;
} else if (fname.compareTo("double") == 0) {
if (f.getDouble(this) != g.getDouble(that))
return false;
} else if (fname.compareTo("float") == 0) {
if (f.getFloat(this) != g.getFloat(that))
return false;
}
} else if (g.get(that) == f.get(this))
continue;
else if (f.get(this) == null && g.get(that) != null)
return false;
else if (g.get(that) == null && f.get(this) != null)
return false;
else if (!f.get(this).equals(g.get(that)))
return false;
} catch (IllegalAccessException ex1) {
System.out.println("accessed field " + fieldName);
System.out.println("modifier " + modifier);
System.out.println("modifier.private " + Modifier.PRIVATE);
InternalErrorHandler.handleException(ex1);
}
}
if (myclass.equals(SIPObject.class))
break;
else {
myclass = myclass.getSuperclass();
hisclass = hisclass.getSuperclass();
}
}
return true;
}