int和Integer有什么区别
发表于|更新于
|总字数:158|阅读时长:1分钟|浏览量:
int 是 Java 提供的 8 种原始数据类型之一。Java 为每个原始类型提供了封装类,Integer 是 Java 为 int 提供的封装类。
int 的默认值为 0,而 Integer 的默认值为 null,是引用类型,即 Integer 可以区分出未赋值和值为 0 的区别,int 则无法表达出未赋值的情况,
Java 中 int 和 Integer 关系是比较微妙的。关系如下:
- int 是基本的数据类型;
- Integer 是 int 的封装类;
- int 和 Integer 都可以表示某一个数值;
- int 和 Integer 不能够互用,因为他们两种不同的数据类型;
文章作者: 烦恼多一点
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 非鱼小站!
相关推荐

2022-04-23
Session 与 Cookie 区别
Cookie 数据存放在客户的浏览器上,Session 数据放在服务器上。 Cookie 不是很安全,别人可以分析存放在本地的 Cookie 并进行 Cookie 欺骗,考虑到安全应当使用 Session。 Session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用 Cookie。 单个 Cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 Cookie。 这四条是区别清单,但清单回答不了两个更深的问题:Session 为什么需要 Cookie 配合(它们不是对立关系而是协作关系),以及分布式环境下 Session 怎么办。把这两点补上,这个题目才算答完。 本质:HTTP 无状态与状态保持HTTP 是无状态协议:服务器处理完请求就忘记你是谁。但购物车、登录态都需要”记住你”。两种记忆路线: Cookie:把状态记在客户端。服务器通过 Set-Cookie 响应头下发数据,浏览器存储并在后续请求自动携带 Cookie 头 Session:把状态记在服务端。服务器为每个会话创建一块...

2022-07-13
JDK8 新特性
Java 基础 - JDK8 新特性概述以下列出两点重要特性: Lambda表达式(匿名函数) Stream多线程并行数据处理(重要) 新特性 接口的默认方法只需要使用default关键字即可,这个特性又叫扩展方法 Lambda表达式 Functional接口函数式接口是指仅仅只包含一个抽象方法的接口,每一个该类型的Lambda表达式都会被匹配到这个抽象方法。你只需要给你的接口添加@FunctionalInterface注解。 使用::双冒号关键字来传递方法(静态方法和非静态方法) Predicate接口和Lambda表达式 Function接口 Function有一个参数并且返回一个结果,并附带了一些可以和其他函数组合的默认方法。 compose方法表示在某个方法之前执行 andThen方法表示在某个方法之后执行 注意:compose和andThen方法调用之后都会把对象自己本身返回,这可以 方便链式编程 Supplier接口,返回一个任意泛型的值,和Function接口不同的是该接口 没有任何参数 Consumer接口,接收一个任意泛型的值,和Function接口不同...

2022-04-27
equals 与 == 的区别
== 与equals 的主要区别是:== 常用于比较原生类型,而 equals() 方法用于检查对象的相等性。 另一个不同的点是:如果 == 和 equals() 用于比较对象,当两个引用地址相同,== 返回 true。而 equals() 可以返回 true 或者 false 主要取决于重写实现。最常见的一个例子,字符串的比较,不同情况 == 和 equals() 返回不同的结果。 两点结论正确但偏薄。要答出深度,需要补三块:字符串常量池这个经典案例的完整推演、equals 重写必须连带重写 hashCode 的契约、以及 Integer 缓存这类包装类的陷阱。 语义层:值比较 vs 引用比较 == 是运算符:基本类型比较值;引用类型比较引用(地址)——即”是不是同一个对象” equals 是 Object 的方法:默认实现就是 this == obj(比引用);语义由重写者定义,String、Integer、LocalDate 等都重写为”内容相等” 所以”equals 比内容”不是语言保证,而是类的契约承诺;自己写的类不重写 equals,equals 就退化为 ...

2022-04-26
MVC 设计思想
MVC 是三个单词的首字母缩写,它们是 Model(模型)、View(视图)和 Controller(控制)。 这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层: 最上面的一层,是直接面向最终用户的”视图层”(View)。它是提供给用户的操作界面,是程序的外壳。 最底下的一层,是核心的”数据层”(Model),也就是程序需要操作的数据或信息。 中间的一层,就是”控制层”(Controller),它负责根据用户从”视图层”输入的指令,选取”数据层”中的数据,然后对其进行相应的操作,产生最终结果。 三层划分只是 MVC 的静态面貌。真正让它成为”思想”而非”目录结构”的,是依赖方向与变化隔离:View 与 Model 互不直接依赖,Controller 做中间调度,于是”界面变化”与”数据/业务变化”可以独立演进。本文补上交互流程、Spring MVC 的落地映射、以及 MVC 的变体与误用。 交互流程:一次请求的三角关系经典 MVC 的交互(以 Web 应用为例): 用户操作 View(提交表单/点击链接)→ 请求进入 Controller C...

2022-04-21
说说自定义注解的场景及实现
登陆、权限拦截、日志处理,以及各种 Java 框架,如 Spring,Hibernate,JUnit 提到注解就不能不说反射,Java 自定义注解是通过运行时靠反射获取注解。实际开发中,例如我们要获取某个方法的调用日志,可以通过 AOP(动态代理机制)给方法添加切面,通过反射来获取方法包含的注解,如果包含日志注解,就进行日志记录。反射的实现在 Java 应用层面上讲,是通过对 Class 对象的操作实现的,Class 对象为我们提供了一系列方法对类进行操作。在 JVM 这个角度来说,Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项目按严格的顺序紧凑的排列在 Class 文件中,里面包含了类、方法、字段等等相关数据。通过对 Class 数据流的处理我们即可得到字段、方法等数据。 以上是注解机制的骨架。下面补全三块实战中最需要的内容:注解本身的定义要素、运行时读取的完整链路、以及一个可运行的自定义注解实现。 定义注解的四个要素@Target(ElementType.METHOD) // 能标在哪里:方法/类/字段/参数@Retention(Ret...

2022-04-24
Session 分布式处理
Session 复制在支持 Session 复制的 Web 服务器上,通过修改 Web 服务器的配置,可以实现将 Session 同步到其它 Web 服务器上,达到每个 Web 服务器上都保存一致的 Session。 优点:代码上不需要做支持和修改。 缺点:需要依赖支持的 Web 服务器,一旦更换成不支持的 Web 服务器就不能使用了,在数据量很大的情况下不仅占用网络资源,而且会导致延迟。 适用场景:只适用于Web服务器比较少且 Session 数据量少的情况。 可用方案:开源方案 tomcat-redis-session-manager,暂不支持 Tomcat8。 Session 粘滞将用户的每次请求都通过某种方法强制分发到某一个 Web 服务器上,只要这个 Web 服务器上存储了对应 Session 数据,就可以实现会话跟踪。 优点:使用简单,没有额外开销。 缺点:一旦某个 Web 服务器重启或宕机,相对应的 Session 数据将会丢失,而且需要依赖负载均衡机制。 适用场景:对稳定性要求不是很高的业务情景。 Session 集中管理在单独的服务器或服务器集群上使用缓...
评论
WalineDisqus
公告
欢迎来到非鱼小站!140+ 篇原创技术文章持续更新,欢迎留言交流~





