java中封装类共九个,分别是Boolean,Byte,Short,Integer,Long,Float,Double,Character,Void

其中Void对于使用者并无多大意义,也不可以构造任何对象,代码如下:

packagejava.lang;public final classVoid {public static final Class TYPE = Class.getPrimitiveClass("void");privateVoid() {}

}

View Code

这几个封装类中,以Boolean类型最简单,Character最复杂,Character个人觉得也是整个java中最复杂的一个类,先说Boolean:

packagejava.lang;public final class Boolean implements java.io.Serializable,Comparable{public static final Boolean TRUE = new Boolean(true);public static final Boolean FALSE = new Boolean(false);public static final Class TYPE = Class.getPrimitiveClass("boolean");private final booleanvalue;private static final long serialVersionUID = -3665804199014368530L;public Boolean(booleanvalue) {this.value =value;

}publicBoolean(String s) {this(toBoolean(s));

}public static booleanparseBoolean(String s) {returntoBoolean(s);

}public booleanbooleanValue() {returnvalue;

}public static Boolean valueOf(booleanb) {return (b ?TRUE : FALSE);

}public staticBoolean valueOf(String s) {return toBoolean(s) ?TRUE : FALSE;

}public static String toString(booleanb) {return b ? "true" : "false";

}publicString toString() {return value ? "true" : "false";

}public inthashCode() {return value ? 1231 : 1237;

}public booleanequals(Object obj) {if (obj instanceofBoolean) {return value ==((Boolean)obj).booleanValue();

}return false;

}public static booleangetBoolean(String name) {boolean result = false;try{

result=toBoolean(System.getProperty(name));

}catch(IllegalArgumentException e) {

}catch(NullPointerException e) {

}returnresult;

}public intcompareTo(Boolean b) {return compare(this.value, b.value);

}public static int compare(boolean x, booleany) {return (x == y) ? 0 : (x ? 1 : -1);

}private static booleantoBoolean(String name) {return ((name != null) && name.equalsIgnoreCase("true"));

}

}

View Code

Boolean实现了Comparable接口,也就是说boolean类型本身是可以比较的,而对于boolean类型而言,在java中认为true是大于false的。示例如下:

packagedemo.nio;public classBooleanDemo {public static voidmain(String[] args){

System.out.println(Boolean.compare(true, false));//1 代表大于

System.out.println(Boolean.compare(false, false));//0 代表等于

System.out.println(Boolean.compare(true, true));//0 代表等于

System.out.println(Boolean.compare(false, true));//-1 代表小于

}

}

值得一提的是Boolean的hashcode是两个常数,这就保证了不管从何处new的对象,只要内部的value字段值为true,它的hashcode就是1231,为false就是1237。equals方法完全调用了内部value字段的==操作。所有的封装类型都包含了valueOf的静态函数,并且有

两个重载版本,分别是基元类型参数和字符串参数。还有一个parse函数,内部可以通过返回Cache中的数据来避免重复的装箱操作。java中对于Boolean的Cache就是 Boolean.TRUE和Boolean.FALSE两个静态字段。它们是公共类型。

public classBooleanDemo {public static voidmain(String[] args){

Boolean b3= Boolean.valueOf(true);

Boolean b4= Boolean.valueOf("true");

Boolean b5= Boolean.parseBoolean("true");

}

}

View Code

java 中封装类有哪些_java中封装类(一)相关推荐

  1. java中组件与容器_java中的容器组件和非容器组件

    1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...

  2. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

  3. java 基本类型的引用_Java中的基本数据类型与引用数据类型

    一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...

  4. java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  5. java string 后几位_java中String占几个位元组

    java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...

  6. java有没有回调函数_Java中的回调函数 - wangjianme的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java代码的回调函数经常由框架或是系统定义,由程序开发人员填充. 它的最主要特点是即定义了调用的规范同时又非常的灵活. 回调函数有些类似于观察者模式,它们的区别在于:观察者模式返回的参数为Event ...

  7. java常见的报错_Java中常见的错误有哪些?

    原标题:Java中常见的错误有哪些? 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况. 原因: 1.对系统所访 ...

  8. java i 线程不安全_java中的++i是线程安全的吗?

    java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...

  9. java序列化有什么用_java中序列化的作用

    一  什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...

  10. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

最新文章

  1. 吴恩达新年公开推荐这个设计师,上千人点赞
  2. 解决html2canvas截取页面部分div黑屏问题
  3. 如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持
  4. poj Fibonacci(快速幂取模运算)
  5. Linux gd库安装步骤说明
  6. 视频编解码器讲解-H.264、VP9、HEVC、AV1
  7. Apache和Apache Tomcat的区别是什么?
  8. 基于社会工程学的网络攻击手段分析
  9. 请别相信她成本多少?个人参与有什么优势?安全可靠吗?
  10. 面试阿里数据研发岗,无缘三面,谈谈面经
  11. kafka中文文档new comsumer配置参数
  12. (转) 如何在Excel和Word文档中插入GIF动画
  13. 苹果造车简史:库克能靠造车封神吗?
  14. 【时间之外】10分钟搞懂Python+Tushare+Excel股票分析
  15. 基于Jsp、Java、数据库、HTML实现网上投票系统(含文档和代码)Jsp课程设计
  16. 领导合影站位图_领导座次安排图,没有人会教你这些,但非常重要!(建议收藏)...
  17. 十年前他在马王堆送快递,如今当上航空主管,拯救客户亿元大单
  18. Week 4.2 | Lecture 10 | 多态性设计通用方法、比较器 | CS61B-Spring-2018
  19. JPEG文件格式 JFIF Exif
  20. 判断一个数是不是素数

热门文章

  1. 【iOS开发】记录一次苹果2.1大礼包被拒绝3次历时12天的坑逼上架历程
  2. 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多
  3. Fluent Search,一款让Windows效率起飞的软件
  4. Qt TCP多并发及心跳检测
  5. Double,double
  6. 图片转Svg格式以及压缩优化方法
  7. c语言向上取整计算方法
  8. php sku联动,php-SKU的WooCommerce管理产品搜索
  9. java小游戏英文文献,连连看Java小游戏毕业设计论文
  10. 微信小程序下拉框插件_微信小程序三级联动下拉框插件