javase-为什么无法打印POJO里面的属性?

问题描述

为什么无法打印POJO里面的属性?

我写了一个工具类,当我输入一个对象,直接打印对象里面的属性

 public class JavaUtil {
    public static void toString(Object object){
        Class clazz = object.getClass();//获得类对象
        StringBuilder sb = new StringBuilder();
        sb.append("成员变量:n");
        Field[] fields = clazz.getFields();
        for (Field field:fields){
            sb.append(field.toGenericString()+"n");
        }
        System.out.println(sb.toString());
    }
}
 public class POJO {
    private Integer id;
    private String name;

    public POJO() {
    }
    public POJO(Integer id,  String name) {
        this.setId(id);
        this.setName(name);
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
 public class Test {
    public static void main(String[] args) {
        POJO pojo = new POJO();
        pojo.setId(1);
        pojo.setName("任冠宇");
        JavaUtil.toString(pojo);
    }
}

解决方案

getFields()方法只能获得public的属性
如果非得获取只能用getDeclaredMethods()方法,然后自己手动裁剪字符串了

时间: 2024-08-05 14:39:45

javase-为什么无法打印POJO里面的属性?的相关文章

使用hibernate的sum()查询时,新生成的sum()属性如何对应POJO类的属性?

问题描述 [size=medium]我用hibernate逆向工程生成了一个表stock对应POJO类.表的字段有name(vchar),value(number),id(vchar),主键为id对应POJO类的属性为name(String),value(double),id(String).现在我需要做查询 select id,sum(value) from stock group by id但是hibernate查询时一般都是from stock where ... 即查询的属性可以对应到P

技巧:Flash中的打印控制

打印|技巧|控制 这个估计很多人没有关心过.但是很有用.我贴上来吧. Flash中负责打印的类是 PrintJob 首先了解它一下 属性: orientation:String [只读] 图像的打印方向.图像的打印方向.此属性可以为 "landscape" 或 "portrait".请注意,只有在调用 PrintJob.start() 方法后,此属性才可用. pageHeight:Number [只读] 页面上实际可打印区域的高度(以磅为单位). pageWidth

解析IE6.0打印机制(转)

打印 网页打印,可以通过浏览器的"打印"功能实现,但"打印模板"机制,却是 IE 5.5 /6.0以及 Netscape 6.0 所独有的:准确一点, IE 5.5 只是一个机制雏形,在 IE 6.0 中才得以完全体现.IE 6.0的打印功能模块,在精确控制页面边界,文本间隔,以及打印的统一性上,功能更为完备.   通过创建打印模板,你可以精确控制: 网页打印及预览时的页面风格与内容编排风格:打印属性,如自动为打印的页面添加卷标或编号:精确控制打印预览界面的各个元素

增强webprint打印控件一次打印多份文档的方法

web打印一直是web管理系统的难点,事实证明,采用轻量级的dll控件来实现web打印,是比较理想的解决方案. 采用vc的ATL技术,结合IE的打印模版技术编写的webprint.dll,压缩打包生成dll后,文件下载只有80k左右,是轻量级的打印控件.最近主要实现了如下功能: 1.dll插件的功能修改 1.1增加打印url的属性 描述:当设置这个属性的值为一个url链接,然后再调用Print()函数做打印,就可以将url链接到的网页打印出来. 语法: webprint.printURL=[St

Java打印程序设计全攻略

前言 在我们的实际工作中,经常需要实现打印功能.但由于历史原因,Java提供的打印功能一直都比较弱.实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持.所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦.实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮的打印模式的开端,该打印模式与Java2D图形包充分结合成一体.更令人鼓舞

Excel打印技巧大全

Excel打印技巧大全 收集了Excel中关于打印的各种技巧,让你精通Excel打印工作.试试看,以下的Excel打印技巧你知道几个? 没有打印机一样可以打印预览 在没有安装打印机的电脑上按下Excel的"打印预览"按钮后,Excel会却提示没有安装打印机,且无法打印预览.其实,只要单击"开始"→ "设置"→"打印机",然后双击"添加打印机"项目,再随便安装一个打印机的驱动程序.重启Excel,就会发现已经

php面向对象中static静态属性与方法的内存位置分析

 这篇文章主要介绍了php面向对象中static静态属性与方法的内存位置,通过内存位置实例分析了static静态属性的原理与使用技巧,需要的朋友可以参考下     本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php header("content-type:tex

Word的多版打印

  机关单位使用的"红头文件"需要在一页纸上打印两页文档, Word XP非常容易满足这种要求. 它的操作方法是:录入文档前,单击"文件"菜单下的"页面设置"命令,弹出对话框. 在对话框的"纸张"选项卡中将逻辑页面大小设为打印纸的一半大,然后按常规方法插入页码等内容. 文档录入结束后,用"文件"菜单下的"打印"命令打开"打印"对话框,在"每页的版数"

Swift专题十一——属性

Swift讲解专题十一--属性 一.引言         属性将值与类,结构体,枚举进行关联.Swift中的属性分为存储属性和计算属性两种,存储属性用于存储一个值,其只能用于类与结构体,计算属性用于计算一个值,其可以用于类,结构体和枚举. 二.存储属性         存储属性使用变量或者常量来存储一个值,在声明存储属性时,可以为其设置一个默认值,也可以在构造示例是进行值的设置,属性可以通过点语法来访问,结构体的存储属性示例代码如下: struct MyStruct { var property