java 中封装类有哪些_java中封装类(一)
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中封装类(一)相关推荐
- java中组件与容器_java中的容器组件和非容器组件
1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...
- java boolean几个字节_Java中boolean类型到底占用多少个字节?
1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...
- java 基本类型的引用_Java中的基本数据类型与引用数据类型
一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...
- java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。
方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...
- java string 后几位_java中String占几个位元组
java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...
- java有没有回调函数_Java中的回调函数 - wangjianme的个人空间 - OSCHINA - 中文开源技术交流社区...
Java代码的回调函数经常由框架或是系统定义,由程序开发人员填充. 它的最主要特点是即定义了调用的规范同时又非常的灵活. 回调函数有些类似于观察者模式,它们的区别在于:观察者模式返回的参数为Event ...
- java常见的报错_Java中常见的错误有哪些?
原标题:Java中常见的错误有哪些? 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况. 原因: 1.对系统所访 ...
- java i 线程不安全_java中的++i是线程安全的吗?
java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...
- java序列化有什么用_java中序列化的作用
一 什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
最新文章
- 吴恩达新年公开推荐这个设计师,上千人点赞
- 解决html2canvas截取页面部分div黑屏问题
- 如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持
- poj Fibonacci(快速幂取模运算)
- Linux gd库安装步骤说明
- 视频编解码器讲解-H.264、VP9、HEVC、AV1
- Apache和Apache Tomcat的区别是什么?
- 基于社会工程学的网络攻击手段分析
- 请别相信她成本多少?个人参与有什么优势?安全可靠吗?
- 面试阿里数据研发岗,无缘三面,谈谈面经
- kafka中文文档new comsumer配置参数
- (转) 如何在Excel和Word文档中插入GIF动画
- 苹果造车简史:库克能靠造车封神吗?
- 【时间之外】10分钟搞懂Python+Tushare+Excel股票分析
- 基于Jsp、Java、数据库、HTML实现网上投票系统(含文档和代码)Jsp课程设计
- 领导合影站位图_领导座次安排图,没有人会教你这些,但非常重要!(建议收藏)...
- 十年前他在马王堆送快递,如今当上航空主管,拯救客户亿元大单
- Week 4.2 | Lecture 10 | 多态性设计通用方法、比较器 | CS61B-Spring-2018
- JPEG文件格式 JFIF Exif
- 判断一个数是不是素数
热门文章
- 【iOS开发】记录一次苹果2.1大礼包被拒绝3次历时12天的坑逼上架历程
- 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多
- Fluent Search,一款让Windows效率起飞的软件
- Qt TCP多并发及心跳检测
- Double,double
- 图片转Svg格式以及压缩优化方法
- c语言向上取整计算方法
- php sku联动,php-SKU的WooCommerce管理产品搜索
- java小游戏英文文献,连连看Java小游戏毕业设计论文
- 微信小程序下拉框插件_微信小程序三级联动下拉框插件