java 初始化Number包装类型
比如有的java bean成员变量类型为Integer或者Long,
如果没有设置初始值,默认为null
下面的方法用来设置默认值
/*** * 数值类型(比如Integer,Long)如果值为null,则自动设置为0 * @param obj * @throws SecurityException * @throws NoSuchFieldException * @throws IllegalArgumentException * @throws IllegalAccessException */ public static void convertNumberNull20(Object obj) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException { if (obj == null) { return; } List<Field> fieldsList = getAllFieldList(obj.getClass()); if (ValueWidget.isNullOrEmpty(fieldsList)) { return; } for (int i = 0; i < fieldsList.size(); i++) { Field f = fieldsList.get(i); Object vObj = getObjectValue(obj, f); String typeName = f.getType().getName(); if (vObj == null) { if (typeName.equals("java.lang.Integer") || typeName.equals("java.lang.Short")) { f.set(obj, 0); } else if (typeName.equals("java.lang.String")) { f.set(obj, ""); } else if (typeName.equals("java.lang.Long")) { f.set(obj, 0L); } } } }
应用:
@Override protected void encode(ChannelHandlerContext ctx, ProxyMessage msg, ByteBuf out) throws Exception { int bodyLength = TYPE_SIZE + SERIAL_NUMBER_SIZE + inet_Port_SIZE + URI_LENGTH_SIZE; byte[] uriBytes = null; if (msg.getUri() != null) { uriBytes = msg.getUri().getBytes(SystemHWUtil.CHARSET_UTF); bodyLength += uriBytes.length; } if (msg.getData() != null) { bodyLength += msg.getData().length; } // write the total packet length but without length field's length. out.writeInt(bodyLength); ReflectHWUtils.convertNumberNull20(msg); out.writeByte(msg.getType()); out.writeLong(msg.getSerialNumber()); /*if(null==msg.getInetPort()){ msg.setInetPort(88888); }*/ out.writeInt(msg.getInetPort());//added by huangweii @2017-01-21 20:43:38 if (uriBytes != null) { out.writeByte((byte) uriBytes.length); out.writeBytes(uriBytes); } else { out.writeByte((byte) 0x00); } if (msg.getData() != null) { out.writeBytes(msg.getData()); } }
相关推荐
java 数组初始化 详解 doc
Java初始化块Java初始化块
源代码以及word文件 博文链接:https://zsl131.iteye.com/blog/624175
45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...
44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...
一个java代码初始化具体过程的的demo
介绍一下java程序初始化的顺序,这会对您以后的开发所有帮助
主要介绍了6种方法初始化JAVA中的list集合,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
《Java程序设计基础教程》按内容分成五篇:Java 语言入门篇、面向对象篇、数据流应用篇、Java GUI编程篇和高级应用篇,共有二十四讲组成。
Java 的初始化问题和其他高级语言类似。一个明显不一样的地方是体现在它的类加 载过程。传统的编程语言包括C++等,程序是作为启动过程的一部分立刻被加载,而Java 的 类加载只在需要使用程序代码时才会被加载(每个...
java语法\Java数组声明、创建、初始化
Java初始化顺序1
如果有static,即静态成员定义,首先初始化static的变量,如,在类Cups中c3在c2前面,可是在输出的结果中,你可以发现,c2是在c3前执行的,这就是因为,所有的static都在第一时间被初始化。
对java类初始化以及顺序,详解,由于转载仅供大家参考!
52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化....
51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化....
详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。
介绍java对象的创建、初始化、和引用。并分析一下JAVA中对象创建和初始化过程中涉及的相关概念问题。
作为一名程序员必须知道Java初始化顺序......
深入Java初始化.pdf