在一个java类里,private int a; 什么时候要使用integer

private Integer index;

if(index == null) index = 0; else this.index = index;

Integer有一个明显的好处,就是它能比int多表示一个值,没错就是null。假如一个属性,名字叫a,假如它的类型是Integer,那它就可以区别来有和没有值,比如你刚new出来一个对象,还没来得及给a赋值呢,此时a就是null,对吧,没有值。如果换成int类型呢,他有值,是0。假如这个属性是age,用户不想告诉你他的年龄,他就把用户名,邮箱啥的填了,年龄他没有填,此时如果这个age是Integer类型的,默认值就是null,保存到数据库,也就是对应的年龄那一列没有值。如果这个age是int类型,默认是0,也就是说数据库年龄那一列是有值的,是0,0岁?当然你可以自己写逻辑额外处理一下。

原文地址:https://www.cnblogs.com/mike-mei/p/9998185.html

时间: 2024-11-09 00:49:13

在一个java类里,private int a; 什么时候要使用integer的相关文章

Spring mvc 在一个定时器类里实现多个定时器任务

1.新建一个定时器配置文件,这里叫spring-task.xml,内容如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context=&

如何实现在一个测试类里只登录和退出登录一次

在进行自动化测试的时候,往往只需要登录一次和测试完成的以后,退出登录一次就好,不需要每执行一个测试用例,都登录和退出.用python 的classmethod 装饰器就能实现,伪代码如下: import unittestclass XXX(unittest.TestCase) @classmethod def setUpClass(cls): """ 这里实现一系列的登录操作 """ @classmethod def tearDownClass(

Java类的加载、链接和初始化

一.Java的类加载机制回顾与总结: 我们知道一个Java类要想运行,必须由jvm将其装载到内存中才能运行,装载的目的就是把Java字节代码转换成JVM中的java.lang.Class类的对象.这样Java就可以对该对象进行一系列操作,装载过程有两个比较重要的特征:层次组织结构和代理模式.层次组织结构指的是每个类加载器都有一个父类加载器,通过getParent()方法可以获取到.类加载器通过这种父亲-后代的方式组织在一起,形成树状层次结构.代理模式则指的是一个类加载器既可以自己完成Java类的

Java类的加载 链接 初始化

原文地址 Java类的加载.链接和初始化.Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象.一个Java类从字节代码到能够在JVM中被使用,需要经过加载.链接和初始化这三个步骤.这三个步骤中,对开发人员直接可见的是Java类的加载,通过使用Java类加载器(class loader)可以在运行时刻动态的加载一个Java类:而链接和初始化则是在使用Java类之前会发生的动作.本文会详细介绍Java类的加载.链接和初始化的

java 类的加载,链接,初始化

本篇的话题,讨论Java类的加载.链接和初始化.Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象.一个Java类从字节代码到能够在JVM中被使用,需要经过加载.链接和初始化这三个步骤.这三个步骤中,对开发人员直接可见的是Java类的加载,通过使用Java类加载器(class loader)可以在运行时刻动态的加载一个Java类:而链接和初始化则是在使用Java类之前会发生的动作.本文会详细介绍Java类的加载.链接和初

jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。&lt;s:a action&gt;&lt;s:iterator&gt;&lt;s:param&gt;ognl表达式

在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action">这个链接标签进行跳转,此时,传递需要的参数必不可少.此外,在jsp页面获取Action类传来的数据时,也需要留心一下属性获取的方式. 之前在这里,由于我的粗心大意,导致了jsp页面上没有相应的数据显示出来.原本以为是没有从数据库读取到数据,使得我从持久层.dao层.service层.action类检查

MyBatis里json型字段到Java类的映射

一.简介 我们在用MyBatis里,很多时间有这样一个需求:bean里有个属性是非基本数据类型,在DB存储时我们想存的是json格式的字符串,从DB拿出来时想直接映射成目标类型,也即json格式的字段串字段与Java类的相互类型转换. 当然,你可以为每个类写一个MyClassTypeHandler,但问题是要为每个类都写一个TypeHandler,过于繁琐. 有了泛型,一个通用的TypeHandler直接搞定. 二.源码 package com.xxx.typehandler; import c

java.util.Random 类的 nextInt(int num )

随机产生3个67~295的整数并找出数值居中的数 并输出中间的数例如:100,225和200,输出200 要随机产生某个范围内的整数,用 java.util.Random 类的 nextInt(int num) 最简洁. nextInt( int num) 能接受一个整数作为它所产生的随机整数的上限,下限为零,比如:nextInt(4)将产生0,1,2,3这4个数字中的任何一个数字,注意这里不是0-4,而是0-3..但下限总是零,不能更改,所以若要达到非零下限的效果,必须把上限减去下限的结果传给

【ThinkingInC++】43、内建类型封装在一个类里

内建类型 C++数据类型包括: 1)内置的基本数据类型,如整型.浮点型.布尔型等,均有一个关键字对应,如int,float,bool 2)C++ STL(标准库)引入了一些扩展类型,有时候也归为基本类型,比如字符串类型(string),复数类型(complex),向量(vector)等. 3)其他,即用户自定义类型,也叫抽象数据类型(ADT),即用户通过class,struct,enum定义的各种数据类型. /** * 书本:[ThinkingInC++] * 功能:把一个内建类型封装在一个类里