Java常见API-object、string、StringBuffer
2017-10-30 00:14
387 查看
一、Object类
Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object。 equals方法与toString方法是最常见的两种Object类方法。
1.boolean equles(Object obj)
equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较。Object类中的equals方法内部使用的就是==比较运算符。 在开发中要比较两个对象是否相同,经常会根据对象中的属性值进行比较,也就是在开发经常需要子类重写equals方法根据对象的属性值进行比较。
/* 描述人这个类,并定义功能根据年龄判断是否是同龄人 由于要根据指定类的属性进行比较,这时只要覆盖Object中的equals方法 在方法体中根据类的属性值进行比较 */ class Person extends Object{ int age ; //复写父类的equals方法,实现自己的比较方式 public boolean equals(Object obj) { //判断当前调用equals方法的对象和传递进来的对象是否是同一个 if(this == obj){ return true; } //判断传递进来的对象是否是Person类型 if(!(obj instanceof Person)){ return false; } //将obj向下转型为Perosn引用,访问其属性 Person p = (Person)obj; return this.age == p.age; } }
注意:在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断。
2.String toString()
toString()方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。 由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
class Person extends Object{ int age ; //根据Person类的属性重写toString方法 public String toString() { return "Person [age=" + age + "]"; } }
二、 String类
查阅API发现说字符串是常量;它们的值在创建之后不能更改,这是什么意思呢? 其实就是说一旦这个字符串确定了,那么就会在内存区域中就生成了这个字符串。字符串本身不能改变,但str变量中记录的地址值是可以改变的。
1.string类的创建
字符串有大量的重载的构造方法。通过String类的构造方法可以完成字符串对象的创建。
String s1 = new String(); //创建String对象,字符串中没有内容 byte[] bys = new byte[]{97,98,99,100}; String s2 = new String(bys); // 创建String对象,把数组元素作为字符串的内容 String s3 = new String(bys, 1, 3); //创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数length为要几个元素 char[] chs = new char[]{’a’,’b’,’c’,’d’,’e’}; String s4 = new String(chs); //创建String对象,把数组元素作为字符串的内容 String s5 = new String(chs, 0, 3);//创建String对象,把一部分数组元素作为字符串的内容,参数offset为数组元素的起始索引位置,参数count为要几个元素 String s6 = new String(“abc”); //创建String对象,字符串内容为abc
2.常用方法
/*获取长度*/ int length() /*获取部分字符串*/ String substring(int beginIndex) String subString(int beginIndex,int endIndex) /*查找*/ //字符串是否以指定字符串开头\结尾 boolean startsWith(String prefix) boolean endsWith(String suffix) //字符串中是否包含另一个字符串 boolean contains(CharSequence s) int indexOf(String str) //将字符串转成一个字符数组。或者字节数组。 char toCharArray() byte[] str.getBytes() //判断两个字符串中的内容是否相同 boolean equals(Object obj) boolean equalsIgnoreCase(String anotherString) //判断该字符串的内容是否为空的字符串 boolean isEmpty() //获取该字符串中指定位置上的字符 char charAt(int index) /*修改*/ //大小写转化 String toLowerCase() //字符串转成小写 String toUpperCase() //字符串转成大写 //替换 String repalce(char oldChar, char newChar) //将字符串中的老字符,替换为新字符 String repalce(String old, String newstr) //将字符串中的老字符串,替换为新字符串 //去掉字符串两端空格 String trim()
三 、StringBuffer类
在学习String类时,API中说字符串缓冲区支持可变的字符串,什么是字符串缓冲区呢?接下来我们来研究下字符串缓冲区。 查阅StringBuffer的API,StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。 原来StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
常用方法:
//在末尾追加新数据 public StringBuffer append(String str) //在指定位置插入新数据 public StringBuffer insert(int offset,String str) //删除指定位置上的字符 public StringBuffer deleteCharAt(int index) //删除指定范围内的多个字符 public StringBuffer delete(int start,int end) //将指定范围内的多个字符 用给定的字符串替换 public StringBuffer replace(int start,int end,String str) //将字符串缓冲区的内容反转 如"abc"----"cba" public StringBuffer reverse() //从指定位置开始,到末尾结束,截取该字符串缓冲区,返回新字符串 public String substring(int start) //从指定位置开始,到指定位置结束,截取该字符串缓冲区,返回新字符串 public String substring(int start,int end)
相关文章推荐
- Java之常用API(Object、String、StringBuffer、StringBuilder)
- 黑马程序员_学习笔记:8) 常见API:String、StringBuffer、StringBuiler、Integer
- Java String之StringBuffer以及它的API的详细使用方法
- java笔记之Object,String,StringBuilder,StringBuffer,时间类和日期类以及包装类
- java常见类(二)String,StringBuffer,StringBuilder
- Java入门之API的使用及String 和StringBuilder类的常见方法
- 达内课程-API(java.lang.Object和java.lang.String)
- 黑马程序员----Java基础之StringBuffer 与 String的区别(常用API)
- Java语言基础-常用对象API(一)String、StringBuffer
- java中常见面试题String,StringBuffer,StringBulider 的区别及相应的使用方法介绍
- java22:API-Object-String
- Java基本的API中,String,StringBuffer,Math,Wapper class的基本应用
- 【Java基础】Java常见几组概念的比较(String、StringBuilder、StringBuffer、HashMap、HashTable
- 黑马程序员_JavaAPI——String及常见API类总结
- 黑马程序员_java API-String&&StringBuffer
- JavaSE实战——API(上) Eclipse使用、Object、Scanner、String、StringBuffer、StringBuilder、Integer、模拟用户登录案例
- Java基本的API中,String,StringBuffer,Math,Wapper class的基本应用
- java核心API之String,StringBuffer和StringBuilder以及equals与==的区别和联系
- 张孝祥教学视频-javaapi之String和StringBuffer
- Java后台常见String、Map、JSONObject,JSONArray之间的转换