封装类的由来:

为了将基本类型以对象行使存在,java对八个基本类型提供了引用类型,这八个引用类型称为基本类型的“包装类”。

八个基本类型对应的封装类:

int           --->    Integer

char        --->      Character

byte        --->      Byte

float        --->      Float

double    --->      Double

short       --->      Short

long        --->      Long

boolean  --->      Boolean

封装类的作用:

1.用于集合存储

2.String转基本数据类型间相互转换:

基本数据类型 -->String通过重载方法valueOf()即可

String转基本数据类型通过基本类型对应的封装类即可

 //int->String
String s = String.valueOf(a);
String ss = Integer.toString(a); //String->int
int i = Integer.parseInt(b); //1.Integer转换成int的方法,即Integer.intValue();
Integer ii = new Integer(10);
int k = ii.intValue(); //2.int转换成Integer
int c = 10;
Integer it = new Integer(c); //3. String转换成Integer
String str = "10";
Integer d = Integer.valueOf(str); //4.Integer转换成String
Integer e = new Integer(10);
String stre = e.toString();
//或者写成
String strwe = Integer.toString(e);

    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

上面只是举了int&String的例子,其他的都差不多,Integer替换成Double啦~ Character啦~ 用法都差不多的

哦对了  项目中 String和Date的互相转换也是十分常见的,常用的方法有SimpleDateFormat,ThreadSafeSimpleDateFormat

但是推荐用ThreadSafeDateFormat,为什么呢?因为SimpleDateFormat不仅线程不安全,而且用这个方法会创建成吨的实例对象,占用大量的内存和 jvm空间,总之少用就对了。

下面展示下两种方法的实例:

SimpleDateFormat():

 public class DateUtil {

     public static  String formatDate(Date date)throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
} public static Date parse(String strDate) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.parse(strDate);
}
}

ThreadSafeSimpleDateFormat():     此处是Date转字符串

 //首先在共通类写个format方法,假设这个类叫做AA
private static Pattern patternDate = Pattern.compile("[yMdHms]*"); public String formatDate(SimpleDateFormat sdfDate, Date date) {
String result = "";
if (date != null) {
result = sdfDate.format(date);
} else {
Matcher matcher = patternDate.matcher(sdfDate.toPattern());
result = matcher.replaceAll("-");
}
return result;
} //然后,调用就完事了
AA aa = new AA()
aa.formatDate(new ThreadSafeSimpleDateFormat("HHmm"), xxx.getDate());

其实SimpleDateFormat也有避免创建大量实例的写法,但是线程不安全,我就不写了(主要是懒)。

ps:同一个方法如果出现多个return,只以第一个为准,后面的都不管。

好了就这么多了,不过话说回来 我的随笔真是越来越短小了  ,最近鼻炎又找上我了,项目也忙起来了,回到家整个人都没了力气

哎其实都是借口,明晚一定要写一篇,突然想起来我的java连数据库那部分约等于不会,明晚研究一下,并把心得记录下来 。

下期见! 一给窝哩giaogiao   !

Java基础——封装类的更多相关文章

  1. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  2. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  3. Java基础知识【上】(转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  4. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...

  5. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  6. java基础常见面试题,这是一篇超长的随笔!!!

    1. Java基础部分....................................................... 4 1.一个".java"源文件中是否可以包括 ...

  7. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  8. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  9. 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...

随机推荐

  1. 洛谷P3964 [TJOI2013]松鼠聚会(坐标系变换)

    题面 传送门 题解 对于两个点\((x_i,y_i)\)和\(x_j,y_j\),我们定义它们之间的曼哈顿距离为 \[|x_i-x_j|+|y_i-y_j|\] 定义它们的切比雪夫距离为 \[\max ...

  2. Codeforces Global Round 2部分题解

    传送门 好难受啊掉\(rating\)了-- \(A\ Ilya\ and\ a\ Colorful\ Walk\) 找到最后一个与第一个颜色不同的,比一下距离,然后再找到最左边和最右边与第一个颜色不 ...

  3. [Objective-C语言教程]类型定义:typedef(19)

    Objective-C编程语言提供了一个名称为typedef的关键字,可以使用此关键字为类型指定新名称. 以下是为单字节数字定义术语BYTE的示例 - typedef unsigned char BY ...

  4. select子句排列顺序与聚集函数

    selcet   要返回的列或表达式 from   从中检索数据的表 where    行级过滤 group by 分组说明 having 组级过滤 order by  输出排列顺序   ASC正序排 ...

  5. 2016级算法期末模拟练习赛-A.wuli51和京导的毕业旅行

    1063 wuli51和京导的毕业旅行 思路 中等题,二分+贪心. 简化题意,将m+1个数字分成n份,ans为这n段中每段数字和的最大值,求ans最小值及其方案. 对于这种求最小的最大值,最常用的方法 ...

  6. 【算法笔记】A1060 Are They Equal

    1060 Are They Equal (25 分)   If a machine can save only 3 significant digits, the float numbers 1230 ...

  7. Linux终端没有GUI,使用matplotlib绘图

    一.解决警告信息 ... _tkinter.TclError: no display name and no $DISPLAY environment variable 两种解决方法: 1.pytho ...

  8. Go语言指针

    指针简介 (Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值.由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元.因此,将 ...

  9. Java中HashMap的hash分布策略的简单解释

    趴源码是看到一段不可思议的代码,网上的解释似乎不大令人满意,因此稍微花点时间解读了一下,如有错误请指正 HashMap的桶是这样搞的 // 片段1 static final int hash(Obje ...

  10. Mac下用Launchd实现使用rc.local执行开机启动命令

    其实原理很简单,使用Launchd创建一个开机启动的服务,然后这个服务关联/etc/rc.local文件,那么接下来操作rc.local就和Linux下一样的了. 当然,这种思路还可以直接使用在~/. ...