Java三大特殊类

 
1.java.lang.String类
1.1String类的两种实例化方式
    a.直接赋值,(在堆上分配空间)
    
    b.通过构造方法实例化String对象(传统方法)
1.2 字符串相等比较
    public.boolean.equals(String anothorString)  : 成员方法
    str1.equals(anothorString)
1.3字符串常量是String的匿名对象
    判断用户输入字符串是否等于特定字符串,一定要将特定字符串放在前面,避免NullPointerException
   推荐使用: System,out.println("hello".equals(str)); 
 
1.4jvm底层会自动维护一个字符串的对象池,如果现在采用直接赋值的形式进行String的对象实例化,该对象会自动保存在这个对象池中。如果下次继续使用直接直接赋值的模式声明String对象,此时对象池中若有指定内容,则直接引用;如果没有,则开辟新的堆空间后将其保存在对象池供下次使用。
 
手工入池(本地方法)
public native String intern();
 
1.5字符串常量不可变更
字符串一旦定义后不可改变。
 
1.6字符与字符串的相互转换
a.将字符数组->String
    public String(char[] value)
    public String (char[] value, int offset, int count)
b.将字符串转为单个字符
    public char charAt(int index);
c.将字符串变为字符数组
    String->char[]
    public char[] toCharArray();
    取得字符串长度 public int length();
 
1.7字节(byte)与字符串
a.将字节数组转为字符串
    byte[] -> String
 
public String (byte[] value)
public String (byte[] value, int offset, int count)
b.将字符串转为字节数组
String ->byte[]
 
public byte[]getBytes();
 
c.将字符串按照指定编码转为字节数组
public byte[] getBytes (String charsetName);
 
1.8字符串比较
 
a.不区分大小写相等比较
public boolean equalsIgnoreCase(String anotherString)
b.比较两个字符串大小
public int compareTo(String anotherString)
I.返回大于0:  表示大于比较对象
II.返回等于0: 表示两相等
III.返回小于0: 表示小于比较对象。
 
1.9字符串查找
    public boolean contains(String str) :判断str在本字符串中是否存在
    public boolean startsWith(String str) :判断是否以指定字符串开头。
    public boolean startsWith(String str, int index):从指定位置开始判断字符串是否以指定字符开始。
    public boolean endsWith(String str):判断是否以指定字符串结尾。
1.10 字符串替换
public String replaceAll(String regex, String replacement);
替换所有指定内容
 
public String replaceFirst(String regex, String replacement);
替换首个内容
 
1.11字符串拆分
public String []split(String regex);
将字符串按照指定格式全部拆分
public String []split(String regex, int limit);
将字符串部分拆分,数组长度为limit
 
1.12字符串截取
public String substring(int beginIndex)  :从指定位置截取到字符串结尾。[
 
public String substring(int beginIndex, int endIndex)  :截取部分内容 [ )
 
1.13 String的其他方法
a.去掉左右空格
public String trim();
 
b.转大小写
public String toUpperCase();
public String toLowerCase();
 
c.判断字符串是否为空    只能判断是否为空字符串,而不是NULL;
public boolean isEmpty();
 
 
1.14 两只sb(面试考点**********)---方便进行字符串修改 -java.lang(StringBuffer、、StringBuilder)
a.public StringBuffer append (各种数据类型)
b.String <-> String
    I.String -> StringBuffer
    调用StringBuffer的构造方法或append();
    II.StringBuffer ->String
    StringBuffer.toString();
c.字符串反转
public StringBuffer reverse();
 
d.删除指定范围数据
public StringBuffer delete(int start, int end);
 
e.插入数据
public StringBuffer insert(int offset, 各种数据类型)
 
I.String的内容不可修改,而两个sb可以修改内容(append)
II.StringBuffer采用同步处理,线程安全,效率较低
    StringBuilder采用异步处理,线程不安全,效率较高,String“+”底层会将String->StringBuilder
 
2.Object类(RealFather)
Object是java默认提供的类。
I.java除了Object类,所有的类都存在继承关系,默认会继承Object父类,所有类对象都可以通过Object类进行接收。
2.1取得对象信息
  • 直接使用对象输出,默认输出一个地址编码,如果现在输出的是String对象,此时输出字符串内容而非地址,原因就在于String类覆写了Object的toString()方法。
    System.out.println() 系统输出默认会调用对象的toString()
    如果默认给出的toString()功能不足(不想输出地址而是输出本类信息),需要在子类中覆写toString()方法。
2.2对象比较--equals();
2.3接收引用数据类型
Object类可以接收所有引用类型。包括:类,数组,接口
 
 
3.包装类
包装类就是将基本数据类型封装到类中
3.1分类
a.对象性包装类(Object的直接子类):Boolean(boolean)、Character(char)
 
b.数值型包装类(Number的直接子类),存在数值转换异常:Byte(byte)、Short(short)、Long(long)、Double(double)、Float(float)、Integer(int)
 
3.2装箱与拆箱——基本数据类型与相应包装类的数据处理
装箱:将基本数据类型变为包装类对象,利用每个包装类提供的构造方法装箱
拆箱:将包装类中包装的基本类型值取出,利用Number类提供的xxValue()实现拆箱拆箱处理。
 
  • 阿里编码规范:所有相同类型的包装类对象之间的值比较,全部使用equals方法比较。
  • 说明:对于Integer var =? 在-128~127之间的赋值,Integer对象在Integer常量池产生,会复用已有对象,这个区间内的Integer值可以直接使用==判断。除此之外的所有数据,都会在堆上产生,并不会复用已有对象。
使用int还是Integer?
a、[强制]所有POJO类(简单java类,Bean)属性必须使用包装类型
b.[强制]RPC方法的返回值和参数必须使用包装类型
c、[推荐]所有局部变量使用基本类型
 
3.3字符串与基本类型的转换
I、将字符串转为基本类型
调用各个包装类.parseXX(String str)
Integer.parseInt(String str);
II、基本类型变为字符串
a、“”+基本类型
b、使用String类的valueof(基本类型,静态方法),此方法不产生垃圾空间(推荐)
 

转载于:https://www.cnblogs.com/yishengPan/p/10505879.html

1 Java程序源代码须先通过 编译器 产生Java虚拟机器的机器码 bytecode 再经过解释器将其转成实际使用的机器和操作系统上的机器码执行 2 中定义有 abstract 方法 此一定要声明为抽象 3 在java语言定义中 所有的都可以视作是 Object 的子 4 创建动画是java的重要功能之一 但经常出现闪烁 解决闪烁现象可用 重写update 和 图形双缓冲 方法 5 java程序分为 application 和applet两种 java applet的生命周期中的start方法在 执行完init方法后 以及从其他网页再回到这个applet 时候执行 java applet的生命周期中的stop方法在 离开applet的网页时执行 时候执行 java applet的生命周期中的四个主要方法 init start stop destroy 6 7 java图形中不但提供了一些绘图方法 还可以装载 jpeg 和 gif 两种格式的图形文件 在APPLET程序中显示一图片文件需用到 getImage 和 drawImage 方法 8 java中 例外可以分为三大: Error Exception RuntimeException Java允许 Exception 例外不被catch 且在throw它们时 也不需要声明在方法原型声明的throws子句中 9 Thread中最重要的方法是 start 和 run 10 OutputStream的功能是 接受要输出的字节并将它送往目的地 InputStream的功能是 输入字节流 11 针对网络通信的不同层次 Java提供的网络功能有四大:InetAddress URL Socket DatagramSocket ">1 Java程序源代码须先通过 编译器 产生Java虚拟机器的机器码 bytecode 再经过解释器将其转成实际使用的机器和操作系统上的机器码执行 2 中定义有 abstract 方法 此一定要声明为抽象 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值