Java 之 常用类(二)
1.StringBuffer
a.StringBuffer 与 String:①StringBuffer是一个全新的类型,与String没有继承关系
②StringBuffer的出现是为了解决String内容不可变的问题,它是可变的
③StringBuffer绝不享受String的特殊语法(什么“+”号拼接、直接赋值String常量)
StringBuffer sb = new StringBuffer("hello");
b.常用方法:
StringBuffer sb2 = sb.append("world"); //StringBuffer在字符串末尾做拼接 sb2 = sb2.insert(5, " "); //StringBuffer在字符串对应位置做拼接
注:它的方法完全没有String丰富,大部分方法都是和拼接或删除有关,需要传入位置下标
2.StringBuilder
StringBuilder 是 StringBuffer 的改进版,区别在于:
①StringBuilder 性能比 StringBuffer 高
②但是,StringBuilder 线程不安全(单线程),而 StringBuffer 线程很安全
3.包装类
a.分类:Integer、Character、Byte、Short、Long、Float、Double、Boolean
b.作用:①丰富了基本数据类型只能存放值的问题,还可以提供大量的方法或常量
②包装类充当了基本数据类型和引用数据类型的桥梁
c.应用:基本数据类、包装类型和String类型三者的任意转换
4.基本数据类型——包装类
a.基本 转 包装:
int a = 100;
Integer in = new Integer(a); //标准做法
in = 250; //★自动封箱---JDK1.5以后提供
b.包装 转 基本:
Integer in = 300;
int b = in.intValue(); //标准做法
b = in; //★自动拆箱---JDK1.5以后提供
5.包装类——String
a.String 转 包装:
String str = "125";
Integer in = new Integer(str);
b.包装 转 String:
Integer in = 325;
String str = in.toString(); //标准做法
String str1 = in + ""; //其实本质还是在调用in的toString方法
6.String——基本
a.String 转 基本:
String str = "275";
int i = Integer.parseInt(str); //★将字符串String转换为基本数据类型
b.基本 转 String:
int i = 78;
String str = Integer.toString(i);
String str1 = i + "";
7.Date 类 —— java.util
a.作用:Date 类用来封装了时间日期
long now2 = System.currentTimeMillis(); //可以直接通过这个方法获得当前时间的毫秒数
b.局限性:由于Date这个类型出现的较早,经历了时间原点的变迁,以及JDK版本的变迁,所以有很多的过时方法
c.目前的使用场景:①获取程序运行的当前时间还是用Date最方便
②SimpleDateFormat类可以自定义格式化输出日期时间字符串
③Date在各版本中都可以使用,因而成为表示时间日期的首选
Date now = new Date(); //获取当前时间的Date对象 now = new Date(0L); //根据传入的long类型毫秒数表示时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 a hh:mm:ss:SSS E"); String msg = sdf.format(now);
d.缺点:①根据指定的年月日时分秒来设置对象的值----方法已经都过时了
②难于取出时间日期的一部分(比如年、月)进行单独的时间运算。
e.解决:使用Calendar这个替代类进行操作
8.Calendar类——日历类
a.由于Calendar是抽象类,可通过.getInstance()直接获取子类对象
Calendar cal = Calendar.getInstance(); //使用设计模式帮助我们直接获取到Calendar的子类对象,里面对应的就是当前日期时间
b.Calendar的set/get方法
cal.set(1992,2,14);
cal.set(cal.YEAR,1992); cal.get(cal.YEAR);
注:java中,月份是从0开始的,星期是从周日开始的,因此使用时要进行-1操作
c.Calendar ---> Date
Date birthday = cal.getTime(); //方法一
Date birthday = new Date(cal.getTimeInMillis()); //方法二 String dayOfWeek = new SimpleDateFormat("E").format(birthday); //Date 与 SimpleDateFormat 的共同使用
9.Properties
a.特点:①集合类:Properties是一个集合类,以键值对的方式存放数据;同时兼具可以操作属性文件(一种特殊格式的文本文件)
②操作文件:Properties 同时兼具可以操作属性文件(一种特殊格式的文本文件)
b.申明:首先产生Properties集合容器
Properties props = new Properties();
c.增加:①调用setProperty方法放入元素,每个元素都是一对键值对
②第一个参数是键,要求不能重复
③第二个参数是值
props.setProperty("J134001", "chenGuo");
props.setProperty("J134002", "张鹏");
props.setProperty("J134003", "张凯");
d.修改:如果出现放入重复值的情况,相当于修改而不是新增
props.setProperty("J134003", "罗一修");
e.取/查:通过键取集合中的值,如果键不存在则返回null
String name = props.getProperty("J134001");
System.out.println(name);
f.删除:根据键删除整个键值对
props.remove("J134002");
g.长度:获得容器中的元素个数
int size = props.size();
10.★Properties 操作文件★
a.Properties操作的文件必须是固定格式的文本文件---属性文件---将是工作中使用率排名第二的配置文件
b.看文件:.store方法
props.store(new FileOutputStream("file/student.properties"), "");
c.读文件:.load方法
Properties newProps = new Properties();
newProps.load(new FileInputStream("file/student.properties"));
Java 之 常用类(二)的更多相关文章
- Java API 常用类(一)
Java API 常用类 super类详解 "super"关键字代表父类对象.通过使用super关键字,可以访问父类的属性或方法,也可以在子类构造方法中调用父类的构造方法,以便初始 ...
- Java的URL类(二)
转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方 ...
- Java之常用类及方法
下面我们介绍Java类库所提供的常用类及类的常用方法 一.java.lang.String 1. String类常用的构造函数 public String(String original) 使用串对象 ...
- java:常用类(包装类,equals和==的比较,Date,java.lang.String中常用方法,枚举enum)
*包装类: 将基本类型封装成类,其中包含属性和方法以方便对象操作. *byte---->Byte *short--->Short *long--->Long *float---> ...
- Java基础常用类深度解析(包含常见排序算法)
目录 一.工具类 1.1.工具类的设计 1.1.1.公共静态方法 1.2.单例模式 二.包装类 2.1.基本类型的包装类 2.1.1.Integer 2.1.1.1.Integer >> ...
- java基础---常用类
一.字符串类String String:字符串,使用一对""引起来表示,字符串常量池在方法区中 public final class String implements java. ...
- Java中常用类(包装类扩展知识)
Java常用类有哪些? 八大基本数据类型的包装类 包装类均位于java.lang包中,包装类和基本数据类型的对应关系如下表: 基本数据类型 包装类 byte Byte boolean Boolean ...
- [趣学程序]java的常用类之String
java基础之常用类 String类 String表示字符串,所谓字符串,就是一连串的字符,是java中最常用的类之一. String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内 ...
- Java集合常用类特点整理
集合的结构如下图所示: 集合的两个顶级接口分别为:Collection和Map Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序 ...
- JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类
字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...
随机推荐
- 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
http://www.cnblogs.com/bobositlife/p/aspnet-mvc-csharp-quartz-net-timer-task-scheduler.html 在之前的文章&l ...
- 用Canvas实现动画效果
1.清除Canvas的内容 clearRect(x,y,width,height)函数用于清除图像中指定矩形区域的内容 <!doctype html> <html> <h ...
- Max double slice sum 的解法
1. 上题目: Task description A non-empty zero-indexed array A consisting of N integers is given. A tripl ...
- hdu 4946 2014 Multi-University Training Contest 8
Area of Mushroom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- synchronized使用说明
好久没有更新博客了,今天试着用简单的语言把synchronized的使用说清楚. synchronized是什么? synchronized是用来保证在多线程环境下代码同步执行的可重入的互斥锁.所谓互 ...
- ur c题练习
ur的c果然sxbk啊 ur5:“三个莫比乌斯反演掷地有声"——摘自v(c)f(z)k(y)语录,无删改 ur2:有根树分治裸题,复杂度玄学$O(n\sqrt{n})$. 首先,转化为统计k ...
- 手机站使图片高度统一jq代码
<script> function showImg(){ $(".honor_i_c img").each(function(index, element) { var ...
- Android app AOP添加埋点技术总结
目标:通过面向切面编程来实现对源代码无侵入的埋点. 方式 能力 缺点 学习曲线 XPosed 运行期hook 能hook自己应用进程的方法: 能hook别的应用的方法: 能hook系统方法 ...
- 浅谈CPU和GPU的区别
导读: CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,而GPU面对的则是类型高度统一的.相互无依赖的大规模数据 ...
- ffmpeg+x264 Windows MSVC 静态编译
尝试ubuntu和win下mingw编译版本,但都在Vistual Studio链接时因为依赖 libgcc.a, libmingw.a, libmingwex.a 会与mscrt 有符号冲突. 最后 ...