JAVA 常用类

来源:互联网 发布:淘宝直通车的使用规则 编辑:程序博客网 时间:2024/05/02 01:00

JAVA 常用类

一、Runtime类

应用程序不能创建自己的Runtime实例,但是可以通过Runtime类的静态方法getRuntime()获取与之关联的Runtime对象。

 

二、什么是包装类?

Java是面向对象编程语言,提倡“万物皆对象”。但是Java并不完全面向对象,因为八种基本数据类型不是类。所有,他们不具有类的特性(继承、多态和封装等),也不能实例化对象。八种基本数据类型之所以不直接设计成类,原因是为了运行效率考虑。

Java的设计者一方面想要提高运行效率,一方面还想要Java面向对象的完全性。所以,Java中将八种基本数据类型封装成类,该类称为包装类。所有的基本数据类型都能很方便的与对应的包装相互装换,程序员可以根据数据开发需要任意选择。

 

2.1特点:

1)  Character 类和Boolean类继承于Object类,其他的包装类都继承于Number类。

2)  所有的包装类都是final 类型,不能源生子类;

3)  实例化包装类对象后,对象中保存的基本数据的值不能改变;

4)  包装类封装了基本数据类型的属性(如最大值、最小值),以及大量有用的方法(如数据类型转换)。

 

2.3、剧本数据类型与之间的包装之间的转换机制:自动装箱和自动拆箱

自动装箱:将基本数据类型包装为对应的包装类对象;

自动拆箱:将包装类对象转换成对应的基本数据类型。

 

2.4、数字类型装箱的特点:

1) 两个Integer对象之间也可以用><等符号比较大小(两个Tnteger对象都拆箱后在比较大小;

2)  两个Integer对象最好不要用==符号比较,原因是在(-128,127)范围内是去缓存内对象比较,所以相等;该范围是两个不同的对象引用比较,所以不等。

注意:不要过度使用自动装箱或自动拆箱功能,因为他们可能会导致程序的性能下降。

 

 

三、正则表达式:

3.1、什么是正则表达式?

         是根据一组字符中每个字符串所共有的特征,使用特定的符号来描述改组字符串的一种方法。

3.2、正则表达式的作用:

         提供更强大的字符串处理能力,测试字符串内的模式,例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或身份证号码模式。即数据验证替换文本可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

 

基于模式匹配从字符串中提取子字符串可以查找文档内或输入域内特定的文本。

 

3.3、在Java中使用正则表达式

正则表达式在字符串处理上有着强大的功能,sunjdk1.4加入了对它的支持,jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String类中的replaceAllsplit函数也是调用的正则表达式来实现的。

3.3.1、正则表达式对字符串的操作主要包括:

1.字符串匹配

2.指定字符串替换

3.指定字符串查找

4.字符串分割

3.3.2、Pattern类

Pattern类的实例表示以字符串形式指定的正则表达式,其语法类似于Perl所用的语法。

用字符串形式指定的正则表达式,必须先编译成Pattern类的实例。生成的模式用于创建Matcher对象,它根据正则表达式与任意字符序列进行匹配。多个匹配器可以共享一个模式,因为它是非专属的。

compile方法把给定的正则表达式编译成模式,然后用 matcher方法创建一个匹配器,这个匹配器将根据此模式对给定输入进行匹配。pattern方法可返回编译这个模式所用的正则表达式。

3.3.3、Matcher类

通过调用某个模式的matcher方法,从这个模式生成匹配器。匹配器创建之后,就可以用它来执行三类不同的匹配操作:

matches方法根据此模式,对整个输入序列进行匹配。

lookingAt方法根据此模式,从开始处对输入序列进行匹配。

find方法扫描输入序列,寻找下一个与模式匹配的地方。

这些方法都会返回一个表示成功或失败的布尔值。如果匹配成功,通过查询匹配器的状态,可以获得更多的信息。

3.4、构建正则表达式

\d 等於 [0-9]数字

\D 等於 [^0-9]非数字

\s 等於 [ \t\n\x0B\f\r]空白字符

\S 等於 [^ \t\n\x0B\f\r]非空白字符

\w 等於 [a-zA-Z_0-9]数字或是英文字

\W 等於 [^a-zA-Z_0-9]非数字与英文字

$ 表示每行的结尾 .匹配所有字符,包括空格、Tab字符甚至换行符或 []方括号只允许匹配单个字符 ^符号称为否符号。如果用在方括号内,表示不想要匹配的字符。

 

Java.util.regex

四、字符串相关类

 

验证一个或多个汉字:^[\u4e00-\u9fa5]$

 

String  a=able”和string  s = new strnng(“abc”)的区别

Java虚拟机中,存在着一个字符串池,其中保存着很多字符串对象,并且可以被共想使用,因此他提高了运行效率;

 

String  a = “abc”语句被执行时,JVM首先在字符串池中去查询是否存在之为“abc”的对象,判断依据是stringequals方法的换回值。如果有,则不再显示实例化新的对象,直接返回已存在的引用,如果没有则创建这个对象,然后把他加到字符串池中,再将其引用返回;

4.1、字符串的特点:

1)  字符串必须使用引号

2)  字符串的支持使用Unicode(国际统一字符编码),一个字符占用两个字节

3)  String类是一个finnal类,代表不可用的字符序列;

4)  字符串是不可变的,一个字符串对象一旦被实例化,他的内容就固定不变的

使用swing类的intern()方法可以证明字符串是不可接受的;

String  str = “Just”

Str  =  “Justion”

如果程序字符串附加字符串的操作很频繁,并不建议用“+”来进行字符串的串联。

 

4.2、String类的常用方法:

1)  length返回字符串的长度

2)  charAtint  index)返回index+1位置的字符

3)  equalsIgnoreCase忽略大小写比较

4)  indexOfstring  s )返回指定字符串在此字符串中第一次出现的索引

5)  startswithstring  s)测试此字符串是否可以指定的前缀开始

6)  endsWith()

7)  substring()

8)  replace()

9)  trim()

10concat()

11split()

 

4.3、string  、stringbuffer 、stringBuilder 的区别:

string类包含了一个不可变的字符串。

Stringbuffer stringbuilder包含了一个可以修改的字符串。不同在于Stringbuffer方法是线程安全的。所以stringbuilder的性能高于Stringbuffer;在不考虑线程安全的情况下,如需要创建一个可变的字符串对象,应优先选择stringbuilder

 

常用格式:

String  str = “”;

Stringbuffer  temp = new stringBuffer(“hello”);

temp.append(“world”);

system  out println(“”);

 

4.4、string  、stringbuffer 、stringBuilder 的快慢:

stringBuilder> stringbuffer > string

 

0 0
原创粉丝点击