集册 Java实例教程 获取属性的返回类型。

获取属性的返回类型。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

424
获取属性的返回类型。

/**   

 *  Copyright (c) 2005-2014 VedantaTree all rights reserved.

 * 

 *  This file is part of ExpressionOasis.

 *

 *  ExpressionOasis is free software. You can redistribute it and/or modify

 *  it under the terms of the GNU Lesser General Public License as published by

 *  the Free Software Foundation, either version 3 of the License, or

 *  (at your option) any later version.

 *

 *  ExpressionOasis is distributed in the hope that it will be useful,

 *  but WITHOUT ANY WARRANTY; without even the implied warranty of

 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL 

 *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES 

 *  OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 

 *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 

 *  OR OTHER DEALINGS IN THE SOFTWARE.See the GNU Lesser General Public License 

 *  for more details.

 *

 *  You should have received a copy of the GNU Lesser General Public License

 *  along with ExpressionOasis. If not, see <http://www.gnu.org/licenses/>.

 *  

 *  Please consider to contribute any enhancements to upstream codebase. 

 *  It will help the community in getting improved code and features, and 

 *  may help you to get the later releases with your changes.

 */

//package com.nowjava;//时   代     Java  公  众  号 - nowjava.com 提 供

import java.beans.BeanInfo;

import java.beans.IntrospectionException;

import java.beans.Introspector;

import java.beans.PropertyDescriptor;


public class Main {


    /**

     * Gets the return type of property.

     * 

     * @param beanClass the class of bean whose property is being inspecting.

     * @param property the name of property

     * @return the type of property. Returns <code>null</code> if the property name

     *         if not found in bean class.

     * @throws IntrospectionException

     */

    public static final Class getPropertyType(Class beanClass,

            String property) throws IntrospectionException {

        // Gets the property descriptor for property name.

        PropertyDescriptor descriptor = getPropertyDescriptor(beanClass,

                property);
                /**
                 from
                * N o w J a v a . c o m 
                **/

        return descriptor == null ? null : descriptor.getPropertyType();

    }


    /**

     * Gets the property descriptor for the property name from given class.

     * 

     * @param beanClass the class of bean

     * @param property the name of property.

     * @return the property descriptor if property name found else return <code>null</code>.

     * @throws IntrospectionException

     */

    public static final PropertyDescriptor getPropertyDescriptor(

            Class beanClass, String property) throws IntrospectionException
展开阅读全文