本章学习 内部类 包装类 深入字符串处理
内部类存在的两个目的:
1.让程序设计逻辑上相关类结合在一起
2.内部类可以i直接访问外部类的成员
成员式内部类:类级别,对象级别
声明都一样,外部类.内部类。实例的生成,类级别直接用类new出一个对象,对象级别需要先new出一个外部类对象,然后用外部类对象new出一个内部类对象的实例
区域式内部类:区域变量级别, 匿名级别
区域变量级别将类的声明放在方法中
包装类
Integer类
类型转换 parseInt("10" , 2 )把字符串参数“10”转化成2进制的int类型
toString(10)把10转化成字符串
valueof(“10”)转化成Integer的对象
Integer对象之间的比较,可以使用方法compareTo,比较完后返回一个int值,1、0、-1
字符串的处理
String可以使用new来复制,也可以像基本数据类型直接赋值
String str1 = new String(“java”);
String str2 = “java”;
Java为了加快程序的运行速度,而且字符串是每个程序中一定会用到的对象,所以Java设计了两种不同的方式来产生字符串对象,一种是调用String的构造函数,一种是使用双引号“ ”;new出来的会有自己的独立空间,使用双引号会放在字符串池中,当双引号产生字符串对象时,计算机先回去字符串池找是否有相同的字符串已经在里面了,如果有,那么直接用。
任何修改字符串内容的方法,都会产生一个新的字符串对象
StringBuffer类是用来操作修改字符串用的,提供的方法就是i增删改查,没有累计别的方法,全部是对象级别的。
新增字符到StringBuffer类对象中有两个方法,一个是把新的字符福建到原来字符串的后面,另一种是把新的字符插入到字符串中的指定位置,这两种方法都有重载
append方法,将新的字符串插入到原先 字符串的后面
insert方法,将新的字符串插入到指定位置
reverse方法,将整个字符串翻转过来
setCharAt方法,将规定位置的字符置换
replace方法,将某段字符串置换成新的字符串
deleteAt delete 删除字符串
getChar,getChars,substring ,用来返回该段字符串内容
StringBuffer ,StringBuilder,所提供的方法完全一样,区别:StringBuilder的执行效率快。
StringBuffer是多线程受保护的,多个线程不能同时使用StingBuffer对象,不会造成数据不一致,StringBuilder不受现成保护。在没有多线程的情况下,后者速度更快
StringTokenizer类放在util下,使用之前需要现将其import进来,通过默认构造函数将参数掺入,new完对象后,用方法处理
countTokens,该方法表示生成几个数据项
hasMoreElements,判断是否还有下一个数据项可以读取
hasMreTokens跟上一个方法一样,专属属于String-Tokenizer类
nextElement取得下一个数据项
netToken跟上一个方法一样,专属属于String-Tokenizer类