设定栏位
/** * Copyright 2008-2009 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations under the License. */ //package com.nowjava; import java.beans.IntrospectionException; import java.beans.PropertyDescriptor;/**来 自 时 代 J a v a**/ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static void setField(Object parent, String fieldName, Object value) { try { Method method = findSetter(parent, fieldName); if (method != null) { method.setAccessible(true); method.invoke(parent, new Object[] { value }); } else { Field field = parent.getClass().getDeclaredField(fieldName); field.setAccessible(true);// from 时 代 Java - nowjava.com field.set(parent, value); } } catch (IllegalAccessException e) { throw new RuntimeException(e); } catch (InvocationTargetException e) { throw new RuntimeException(e); } catch (NoSuchFieldException e) { throw new IllegalArgumentException("Field '" + fieldName + "' was not found on " + parent.getClass().getName()); } } private static Method