必威体育Betway必威体育官网
当前位置:首页 > IT技术

常用工具类(一)

时间:2019-10-13 12:15:39来源:IT技术作者:seo实验室小编阅读:75次「手机版」
 

工具类

 包装类:

java中,每个基本类型在java.lang包中,都有相应的包装类,把基本数据转换为对象,其中包装类integer是Number的直接子类。 

基本数据类型: byte  short   int    long    float  double  char  boolean

    包装类:      Byte  Short  Integer  Long   Float  Double Character  Boolean  

Number类,从定义可知,它是一个抽象类,主要表示数值。

子类包括:Byte Short Integer  Long Float  Double Boolean和Character类

Number 直接父类: Object类

注意:包装类可以定义属性和方法,属于引用数据类型,默认值为null。

自动装箱和自动拆箱:

  在JDK1.5更改为自动完成,自动装箱--基本数据类型转变为包装类的过程--例如:Integer i = 5;

                              自动拆箱--包装类转变为基本数据类型的过程--例如:Int a = new Integer(5);

为什么要使用包装类,包装类的作用。

答:因为java语言是面向对象的语言,但是java中的基本数据类型却不是面向对象的,而在实际的使用中经常需要将基本数据转化成对象,便于操作。比如说在集合中存储数据时,只能存储对象

作用:

[1]作为和基本数据类型对应的类型存在,方便涉及到对象的操作

[2]包含每种基本数据类型相关的属性以及相关的操作方法

  string转int

包装类Integer的静态方法可以将字符串类型的数字“123”转换成基本整型变量n,它的实现语句是Interger.parseInt(“123”);

注意:1.此方法是静态方法,所以允许类名称直接调用。

       2此方法抛出异常,属于运行时异常。出现异常的情况:实参是字符串,此字符串如果包含非数字型字符,则会出现该异常。

String类型:----是一个表示字符串的类,使用final修饰,不能派生子类。存在很多方法操作字符串。(引用数据类型)

String s ="a"+”b”+”c” 创建    1       个对象。

注意:String类使用连接符,如果字符串使用连接符+进行连接时,在JVM进行编译时会自动优化,把多个字符串连接成一个字符串,是在内部完成,并不是产生多个对象。

1.trim()方法:

String类的trim()方法作用是去掉字符串左右两端的空格  

-----trim()方法,表示只能去掉字符串左右两端的空格,中间部分的空格它无能无力。    

2.substring(int index, int end)方法:截取字符串,包括index不包括end。

实例:"hamburger".substring(4, 8) 返回的结果是“urge”//[0,1]取的是h

3.concat(String)方法:把指定的字符串连接到此字符转的结尾。

  注意:(1)如果字符串长度为0,进行调用此方法,返回的是新字符串。例如:String s =“”;//字符串长度为零--

    s= s.concat(“abc”); // 连接字符串”abc”,返回的是”abc”

(2)如果字符串为null,调用此方法,出现空指针异常。例如String s = null;  s= s.concat(“abc”);//出现异空指针常。

4.toUpperCase()方法:toUpperCase()方法,把字符串的字母字符全部变为大写

5.length()方法;求字符串的长度。注意:数组求长度是arr.length,集合求大小是size()方法。

String类中“==”比较和equals()方法比较:

 (1)如果使用比较运算符”==”比较的是引用数据类型,则他们比较的是对象在内存当中的地址值是否相同;如果比较的是基本数据类型,则他们比较的是各自所代表的具体的值,来判断是否相同。

(2)equals(Object obj) 方法,String类重写了equals()方法,表示两个对象所包含的内容是否相同;不是比较的地址值

(3)每通过一个new关键字,创建对象,都会重新在堆内存当中开辟空间,所以分配的引用地址值也不同。

(4)如果字符串出现了一次之后,会在字符串常量池中进行存储,如果再出现,则字符串常量池中不会再开辟空间,而是引用一下即可。内存分析例子如下两图:

可变字符串序列StringBuffer/stringbuilder:

在不改变字符串内存地址的情况下,允许改变字符串的内容,java语言中存在这两个类,StringBuffer和StringBuilder。

注意:(1)都被final修饰的类,不能派生子类。

 (2)都可以表示字符串,都属于java.lang包中的类。

(3)直接父类都是Object。

(4)StringBuffer线程安全,效率低,StringBuilder线程非安全,效率高。

  String、StringBuffer、StringBuilder区别与联系。

答:联系: (1) 三者之间都可以表示字符串,(2) 三者都使用final修饰,都不能派生子类,同时他们的共同的直接父类:Object(3) StringBuffer和StringBuilder都是可变字符序列,底层数组结构都是char类型的数组,方法功能也很相似。

区别:

String表示字符序列不可变,StringBuffer和StringBuilder表示字符序列可变。

StringBuffer:jdk1.0版,线程安全,但是效率低

StringBuilder:jdk1.5版,线程不安全,但是效率高

 String str=”bjsxt”;和String str= new String(“bjsxt”);的区别

答:相同点:两者都可以创建对象。

不同点:String str = “bjsxt”;首先会在字符串常量池中进行查找,如果有,则不再创建, 反之进行创建,同时它没有在堆内存中进行创建,而是直接在字符串常量池中创建;

String str = new String(“bjsxt”);它会在堆内存中创建对象,在字符串常量池中进行查找,如果存在直接引用即可。

日期类:

Java.util.Date包含一个和它同名的子类,它就是java.sql.Date类。 父类提供了无参构造方法,子类没有无参构造方法。

DateFormat类:

   日期格式化类,可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定字符串格式的方法名是format

注意:(1)此类是一个抽象类,如果想实例化对象,需要借助子类完成。

(2)此类只有一个子类,它就是simpledateformat类,根据构造方法,传入日期格式,同时调用format方法,传入Date类型的实参。

Math类:

random()方法:

使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是(int)(Math.random()*31+30);

随机产生数[a,b]的公式如下:(int)(Math.random()*(b-a+1)+a);注意:random方法的范围[0,1].......

 说明:a b都是整数类型,而且都表示闭区间,也就是包含a和b。

pow(x,y)方法:求x的y次方。

Enum类:

 JDK1.5后提供了enum关键字,用以定义枚举类。枚举类是一种特殊的类,可以有自己的属性、方法和构造方法。

 注意:  (1) 枚举类型是JDK1.5之后出现的新特性

          (2) 对于枚举最大的作用和体现:只能定义全局常量,可以代替接口中定义的常量

  (3) 在for-each语句中,数据类型可以是枚举类型

           实例:for(枚举类型   变量名称:枚举名称.values()){

                              System.out.println(变量名称);

                      }

(4)枚举是一种特殊的”类”,继承抽象类Enum,父类中存在很多的方法,允许子类 使用,发现父类的方法都是普通方法且使用final修饰。

            (5)enum不能使用extends继承其他类,因为它默认继承了java.lang.Enum

相关阅读

阻塞队列BlockingQueue及其子类的使用

BlockingQueue前言:BlockingQueues在java.util.concurrent包下,提供了线程安全的队列访问方式,当阻塞队列插入数据时,如果队列已经满

厦门招聘会时间,厦门校园综合类人才招聘会

尊敬的用人单位: 为搭建求职者与用人单位供需见面的平台,促进用人单位选才用人与人才就业的对接,厦门人才服务中心决定于2018年1月10

揭秘女大学生的另类“兼职”

在过去,大学生兼职无非是做做家教、发发传单,又或者是在公司兼职文秘、前台等工作。然而,对于如今的90后大学MM而言,兼职的意义已经不

java 国家法定节假日和双休日判断工具类

package com.newland.dateutil; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arra

Java开发者如何正确的使用String,StringBuffer,StringBu

通过前面的文章,我们知道String类最大的特点是不可变性,这意味着对String类的任何修改都会新生成一个字符串,比如你执行了String类的

分享到:

栏目导航

推荐阅读

热门阅读