`
zqleye
  • 浏览: 41792 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

printin

    博客分类:
  • java
阅读更多

package com.ch;


import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;



/**
 * 根据反射取对象的值
 *
 * @author zhangqiulong
 *
 */
public class Debug {
    private static void println(Object object) {
        StringBuffer str = new StringBuffer();
        if (object != null) {
            try {
                Class clazz = object.getClass();
                str.append(clazz.getName()+":");
                if(clazz == String.class|| clazz == int.class|| clazz == double.class|| clazz == float.class||clazz==char.class
                        || clazz == boolean.class|| clazz == short.class|| clazz == long.class|| clazz == Integer.class
                        || clazz == Double.class|| clazz == Float.class|| clazz == Boolean.class|| clazz == Short.class
                        || clazz == Long.class||clazz==Character.class)
                {
                    str.append("  ").append(object);
                }
                else if(object instanceof Collection)
                {
                    str.append("[size=").append(((Collection)object).size()+"]");
                }
                else
                {   
                Method[] metds=clazz.getMethods();
                Field[] fds = clazz.getDeclaredFields();
               
                for (Field field : fds) {
                    field.setAccessible(true);
                    boolean b=false;
                    for (Method method : metds) {
                        if(method.getName().equals("get" + change(field.getName()))){
                            b=true;
                            break;
                        }
                    }
                   
                    if(!b){continue;}
                   
                    Method metd = clazz.getMethod("get" + change(field.getName()), null);
                    Object ret = metd.invoke(object, null);
                    str.append("  ").append(field.getName()).append("=").append(ret);
                }
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
        System.out.println(str.toString());
    }

    /**
     * @param src
     *            源字符串
     * @return 字符串,将属性的第一个字母转换为大写,属性为空时返回null
     */
    public static String change(String src) {
        if (src != null) {
            StringBuffer sb = new StringBuffer(src);
            sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
            return sb.toString();
        } else {
            return null;
        }
    }

   

}

分享到:
评论

相关推荐

    Java经典算法20题

    根据给定文件的信息,我们可以从中提炼出四个不同的Java编程题目及其解决方案。下面将对这些题目进行详细的解析: ### 一、斐波那契数列(兔子繁殖问题) **题目描述**: 有一个经典的数学问题,涉及一对兔子从...

    安卓反编译dex文件格式实例分析

    在深入分析Android平台Dalvik虚拟机的可执行文件 dex 格式之前,我们需要了解 dex 文件在 Android 应用开发中的作用。dex 文件是 Android 平台上的 Java 程序编译后的产物,它是专门为了满足移动设备的运行环境而...

    JSP的内置对象及用法

    ### JSP的内置对象及其用法 在Java Server Pages (JSP)技术中,为了方便开发者进行Web应用程序的开发,JSP提供了一系列内置的对象。这些内置对象无需显式声明即可直接使用,极大地简化了Web应用的开发过程。...

    java笔试面试试题附带答案

    ### Java笔试面试试题知识点解析 #### 一、Java概述 **1.1 Java是如何实现跨平台的?** Java的核心设计理念之一就是跨平台性,即“一次编写,到处运行”。这主要通过以下两个方面实现: - **编译为字节码**:...

    java编程题目 有答案

    由于提供的文件信息中,【部分内容】的具体内容并未直接给出,而是通过图片格式的链接呈现,我无法直接提供这些图片中的文本内容。但我将基于【标题】、【描述】、【标签】中提供的信息,以及【部分内容】的文字描述...

    武科大-java实验答案-全.doc

    - 输出语句 `System.out.printIn` 错误,正确的应该是 `System.out.println`. **修正后代码:** ```java public class MyJavaClass{ int a; MyJavaClass(int a){this.a=a;} public static void main(String[] ...

    2016北邮高级语言程序设计(java)作业.doc

    例如,在题目中的示例程序中,关键字`public`和`static`的缺失以及`printIn`的拼写错误都会导致程序无法正常编译和运行。 ### 7. Java程序的执行方式 Java程序的执行方式有两种: - **解释执行**:通过JVM解释执行...

    海辉笔试题

    2. **编译错误**:这段代码存在多个错误,包括静态变量声明的位置、返回值类型不匹配以及System.out.printIn(j)方法名拼写错误。因此,编译不会成功。 #### 四、HTML表单元素操作 1. **选择表单元素的值**:在...

    4北邮高级语言程序设计(基于JAVA)阶段作业一.pdf

    文档中publicclassicHello{publicvoidmain(String[]args){System.out.printIn();}表示有一个类叫classicHello,并且包含一个main方法,用于程序的执行。 - **包(package)**:Java包是一个命名空间,用于组织类和...

    java和网络

    System.out.printIn(currentLine); ``` - `newSocket("time-a.nist.gov",13);`:创建一个连接到指定服务器(time-a.nist.gov)和端口(13)的TCP连接。 - `BufferedReader`:用于从连接中读取数据。 ##### 2. ...

    java和C#的初级试题

    选项b)中的"system"拼写错误,选项c)和d)中的"printin"也是拼写错误,应为"println"。所以b),c),d)均不是正确答案。 在Java中对字符串进行操作也是基础知识点之一。例如,要获取字符串"hello"中字符'e'的索引位置...

    java经典面试2010集锦100题(不看你后悔)

    JAVA试题(100道) —————————————————————————————————————— 题目1: 下面不属于基本类型的是:c (选择1项) A) boolean B) long C) String D) byte ...(1)public class Char...

    跟后台打印程序系统服务通讯时出现错误的解决方法

    事件类型: 警告事件来源: TermServDevices事件种类: 无事件 ID: 1114日期: 2006-12-19事件: 15:50:17用户: N/A计算机: 描述:跟后台打印程序系统服务通讯时出现错误。请打开服务管理单元,确认后台打印程序...

    五分钟学会Java中的Lambda表达式

    在这个例子中,`s -> System.err.println(s)` 实现了 `SingleParameter` 接口中的 `printin` 方法,其中 `s` 对应于方法参数 `Object msg`,`->` 后面的代码块是方法的实现。 2. **有返回值的Lambda表达式** ```...

    wit:Linux 的命令行 wifi 管理器

    机智命令行 linux 无线工具包这个工具是围绕iw和wpa_supplicant命令的一个小包装,使命令行中的无线网络变得简单而愉快。用法 wit Automatically connect to an ... Search the known network list by SSID, printin

Global site tag (gtag.js) - Google Analytics