java 如何给对象中的包装类设置默认值
目录
- 给对象中的包装类设置默认值
- 处理方法如下
- java属性的默认值
给对象中的包装类设置默认值
处理方法如下
主要适用于,对象中使用了包装类,但是不能给null需要有默认值的情况
/**
* 处理对象中包装类,因为快捷签没有用包装类
*
* @param object 对象
*/
public static void handleParamDefault(Object object) {
Class<?> aClass = object.getClass();
Field[] declaredFields = aClass.getDeclaredFields();
for (Field field : declaredFields) {
//遍历所有字段
if (field.getType().equals(Integer.class)) {
// 处理Integer
setValue(object, field, 0);
}
if (field.getType().equals(Boolean.class)) {
// 处理Boolean
setValue(object, field, Boolean.TRUE);
}
}
}
/**
* 设置默认值
*
* @param object 待处理对象
* @param field 字段
* @param t 包装类值
* @param <T> 包装类
*/
public static <T> void setValue(Object object, Field field, T t) {
boolean accessible = field.isAccessible();
field.setAccessible(true);
try {
if (field.get(object) == null) {
field.set(object, t);
}
field.setAccessible(accessible);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
java属性的默认值
String默认nullBoolean默认falseint默认0double默认0.0
类中使用自定义类定义属性默认值:null
在定义属性的时候可以指定默认值
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
浅析Java中为什么要设计包装类
目录 一.为什么需要包装类 二.装箱与拆箱 三.不简单的 Integer.valueOf 四.Object 类可以接收所有数据类型 五.包装类在集合中的广泛使用 六.数据类型转换 一.为什么需要包装类 在 Java 中,万物皆对象,所有的操作都要求用对象的形式进行描述.但是 Java 中除了对象(引用类型)还有八大基本类型,它们不是对象.那么,为了把基本类型转换成对象,最简单的做法就是将基本类型作为一个类的属性保存起来,也就是把基本数据类型包装一下,这也就是包装类的由来. 这样,我们先自己实现一
-
详细总结Java基础类和包装类
一.简介 当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了. 基本数据类型存放在栈中,效率更高 每个基本类型在java.lang包中都有一个相应的包装类,new出来的对象存在于堆中(通过栈中的引用来使用这些对象),是一个对象,因此具有更多的诸如"转换"的方法 例子: 1.int转Integer int i = 0; Integer ii = new Integer(i)
-
Java基础之包装类
一.java的包装类 什么是包装类 对于基本数据类型来讲,其实就是一个数字,但是当给基本数据类型添加一些属性 方法和构造器,将基本数据类型对应进行一个封装,就产生了一个新的类,这个类被称为是包装类. 那么基本数据类型在前面中讲过有byte short int long float double char boolean,也就是将这些进行封装,基本数据类型和包装类的对应关系是怎样的呢? 基本数据类型 对应的包装类 byte Byte short Short int Integer long Lon
-
java基础之包装类的介绍及使用
1. 包装类的介绍 针对八种基本数据类型定义相应的引用类型--包装类(封装类),有了类的热点后,就可以调用类中的方法 2. 基本数据类型 --> 包装类:调用包装类的构造器,如in1.toString() 使用场景:如果形参是一个object类类型的,必须要把基本类型转换成包装类才能传入到形参用 3. 包装类 --> 基本数据类型:调用包装类的xxxValue() 使用场景:包装类作为一个对象,不能做加减乘除运算的,必须转换成基本类型后才可以 但jdk5已经支持自动装箱和自动拆箱,所以不需要再
-
Java包装类之自动装箱与拆箱
JDK 5.0之前 基本数据类型<---->包装类:调用包装类的构造器(代码里有知识点和注意点) 转换目的:有了类的特点,就可以调用类中的方法 public class WrapperTest { // 基本数据类型--->包装类:调用包装类的构造器 @Test public void test1() { int num1 = 10; Integer in1 = new Integer(num1); System.out.println(in1.toString());//10 Inte
-
JAVA基本类型包装类 BigDecimal BigInteger 的使用
目录 1.了解包装类 2.Integer 3.Double 4.BigDecimal 5.BigInteger 1.了解包装类 Java 中预定义了八种基本数据类型,包括:byte,int,long,double,float,boolean,char,short.基本类型与对象类型最大的不同点在于,基本类型基于数值,对象类型基于引用. 例如有一个方法 f() ,它的参数分别是对象类型 和 基本类型: void f(Object obj){ //参数引用类型,保存的是内存地址 } f(123){
-
浅谈Java包装类型Long的==操作引发的低级bug
目录 背景 两个 Long 类型的 == 对 Collections.EMPTY_SET 进行 add 引发的异常 Collections 的空集合使用注意事项 启示录 背景 一个简单的列表检索功能,列表元素有一个 Long 类型的属性,遍历过程中犯了一个低级错误,导致功能流程始终错误,本文将分享两个低级错误引发的 bug. 两个 Long 类型的 == 查找某个元素 A 在列表 B 中对应的对象的时候,根据元素主键查询,主键类型为包装类型 Long ,遍历流程如下: for(MyDat
-
Java基础之匿名内部类、包装类
目录 1.匿名内部类 2.Object类简介 2.1 取得对象信息toString() 2.2 对象的比较equals() 2.3 Object接口引用数据类型 3.包装类 3.1 装箱与拆箱 3.2 字符串与基本数据类型的转换 3.3 包的定义 3.4 包的导入 4.访问控制权限 5.jar命令 1.匿名内部类 内部类:在一个类的内部定义了另外的类,称为内部类,匿名内部类指的是没有名字的内部类.为了清楚内部类的主要作用,下面首先观察一个代码. interface IMessage{ publi
-
Java十分钟精通包装类的使用与操作
包装类 何为包装类? 基本类型包装类的概述: 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 包装类是将基本数据类型的值包装为Java中的对象,Java语言为8种基本数据类型分别提供了包装类 首先看一下八大数据类型的包装类: 包装类型出现的原因: 因为Java是一个面向对象的语言,基本类型并不具有对象的性质,为了与其他对象"接轨"就出现了包装类型,它相当于将基本类型"包装起来",使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本
-
java 如何给对象中的包装类设置默认值
目录 给对象中的包装类设置默认值 处理方法如下 java属性的默认值 给对象中的包装类设置默认值 处理方法如下 主要适用于,对象中使用了包装类,但是不能给null需要有默认值的情况 /** * 处理对象中包装类,因为快捷签没有用包装类 * * @param object 对象 */ public static void handleParamDefault(Object object) { Class<?> aClass = object.getClass(); Field[] declare
-
mysql中datetime类型设置默认值方法
通过navicat客户端修改datetime默认值时,遇到了问题. 数据库表字段类型datetime,原来默认为NULL,当通过界面将默认值设置为当前时间时,提示"1067-Invalid default value for 'CREATE_TM'",而建表的时候,则不会出现这个问题,比如建表语句: CREATE TABLE `app_info1` ( `id` bigint(21) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `a
-
java中给实体对象属性的空值赋默认值
目录 给实体对象属性的空值赋默认值 给实体类赋默认值通用方法 给实体对象属性的空值赋默认值 private final String defaultStr = ""; private final Date defaultDate = new Date(); private final BigDecimal defaultDecimal = new BigDecimal(0); private final Timestamp defaultTimestamp=new Timestamp(
-
Angular2中select用法之设置默认值与事件详解
本文主要给大家介绍了Angular2中select用法之设置默认值与事件的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 一.设置默认值: 现在有三个学生小明,小红,小黑,对双向绑定的student设置你想要的select值就可以在下拉框默认选中 code1: 设置"请选择"为默认项,只需要把变量student设置为'',即可默认到"请选择",需要注意的是 <option value="">请选择</option>
-
Vue props中Object和Array设置默认值操作
我就废话不多说,看代码吧~ seller: { type: Object, default() { return {} } } seller: { type: Object, default: function () { return {} } } 当父组件没有传这个值或者值是空时,输出的话,返回: 下面这种是错误的 seller: { type: Object, default: () => {} } 当父组件没有传这个值或者值是空时,输出的话,这时是返回underfind,在template
-
element-ui中的select下拉列表设置默认值方法
element-ui中的select下拉列表如何设置默认值? 在element-ui的运用中,涉及到了select下拉列表.项目中需要将select的默认值给展示出来 那如何修改呢? 上element-ui中的代码片段 <template> <el-select v-model="value" placeholder="请选择"> <el-option v-for="item in options" :key=&qu
-
Springboot @Value注入boolean设置默认值方式
目录 @Value注入boolean设置默认值 问题描述 问题分析 解决方案 @Value 源码阅读 Spring解析@Value @Value注入boolean设置默认值 问题描述 Springboot 中读取配置文件 test: 业务代码如下 @Value("${test:true}") private boolean test; 报错如下 nested exception is org.springframework.beans.TypeMismatchException: Fa
-
举例说明如何为JavaScript的方法参数设置默认值
你是否遇到过这样的情况,写了个function,无参数. function showUserInfo(){ alert("你好!我是小明."); } function showUserInfo(){ alert("你好!我是小明."); } 调用: showUserInfo(); showUserInfo(); 后来,发现其他地方也需要这个function,但是有变量值已经在function里面写死了,怎么办?加个参数吧. function showUserInfo
-
Django model.py表单设置默认值允许为空的操作
blank=True 默认值为blank=Flase,表示默认不允许为空, blank=True admin级别可以为空 null=True 默认值为null=Flase,表示默认不允许为空 null=True 数据库级别可以为空 补充知识:Django中models.py字段选项null和blank的区别和使用 1.null 如果null=True,数据库中空值储存为NULL,默认为False. 2.blank 如果blank=True,则允许字段为空.默认为False. 需要注意的是,这不同
-
关于el-select组件设置默认值的实现方式
目录 el-select组件设置默认值问题 如何给el-select赋默认值 el-select组件设置默认值问题 最近写项目的时候遇到将el-select组件设置默认值需求,通过查阅资料发现很多是使用v-model来实现的,但是只用v-model可能会有一些小小的问题. 因此根据他们的进行改变了一下 实现方式 el-select组件: <el-select v-model="templateValue" placeholder="请选择模板" @cha
随机推荐
- 在Vue.js中使用Mixins的方法
- 有关perl的内置特殊变量介绍
- Jquery Easyui选项卡组件Tab使用详解(10)
- java 中使用匿名类直接new接口详解及实例代码
- .NET框架中间语言IL指令大全
- PHP strtok()函数的优点分析
- Android自定义水平进度条的圆角进度
- python基础教程之udp端口扫描
- linux下php上传文件注意事项
- javascript怎么禁用浏览器后退按钮
- Java 散列存储详解及简单示例
- WordPress中获取指定分类及其子分类下的文章数目
- python中sleep函数用法实例分析
- Java 常量与变量的区别详细介绍
- android开发 eclipse alt+”/”自动提示失效的解决方法
- java 装饰模式(Decorator Pattern)详解及实例代码
- Hibernate使用hbm.xml配置映射关系解析
- php类自动装载、链式操作、魔术方法实现代码
- Android仿网易云音乐播放界面
- Android实现自定义滑动刻度尺方法示例
