集册 Java实例教程 获取指定类的ClassDescriptor实例。

获取指定类的ClassDescriptor实例。

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

448
获取指定类的ClassDescriptor实例。

/*

 *  Copyright 2004 Clinton Begin

 *

 *  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.

 */

import java.lang.reflect.InvocationTargetException;/**N o w  J a v a  .   c o m**/

import java.lang.reflect.Method;

import java.lang.reflect.UndeclaredThrowableException;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import java.util.Locale;

import java.util.Map;

import java.util.StringTokenizer;

import java.util.WeakHashMap;


public class Main{

    public static void main(String[] argv) throws Exception{//来自 nowjava.com

        Class clazz = String.class;

        System.out.println(getClassDescriptor(clazz));

    }

    private static Map<Class<?>, ClassDescriptor> cache = Collections

            .synchronizedMap(new WeakHashMap<Class<?>, ClassDescriptor>());

    /**

     * Gets an instance of ClassDescriptor for the specified class.

     * 

     * @param clazz The class for which to lookup the ClassDescriptor cache.

     * @return The ClassDescriptor cache for the class

     */

    public static ClassDescriptor getClassDescriptor(
展开阅读全文