其实学到今天非常的高兴,为什么呢?
有两点:
第一,终于把面向对象了解的差不多了,当然我知道还没有完全学完,只是基础的一部分学完了;
第二,面对java对我的吸引力,我已经越来越爱上它了,甚至是爱上了编程这门富有艺术的朋友。
鉴于以上两点,我多么希望在最短的时间里学完它们啊,当然我也知道越速则不达的道理,所以还是以闹闹掌握它们的思想为最佳的学习方式,那么废话不多说,接下来讲解一下我今天学习的一个新知识,准备的说应该是把之前面对到的一个String类进行了详细和深入的剖析…
关于对String这个类的认识,之前就在使用,只是还有很多它本身存在的一些方法没有介绍完全和对它本身的了解还不够,所以我先从它本身说起。
首先做一个定义:String类代表字符串,Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如:
String str = “abc”;
等效于:
char data[] = {‘a’, ‘b’, ‘c’};
String str = new String(data);
那么对于String类的话我在学习中大致给它分为了获取、转换、判断、比较和其他特殊几种情况。那么接下来简单的把大致用到的分类方法列出来给大家看看。
一、获取
1.1获取字符串中字符的个人(长度)
int length();
1.2根据位置获取字符
char charAt(int index);
1.3.1根据字符获取在字符串中的第一次出现的位置
int indexOf(int char);
int indexOf(int char,int fromIndex);从制定位置进行char的查找第一次出现的位置
int indexOf(String str);
int indexOf(String str,int fromIndex);
1.3.2根据字符串获取在字符串中最后一次出现的位置
int lastIndexOf(int char);
int lastIndexOf(int char,int fromIndex);从制定位置进行char的查找最后一次出现的位置
int lastIndexOf(String str);
int lastIndexOf(String str,int fromIndex);
1.4获取字符串中一部分字符串,也叫子串
String substring(int beginIndex,int endIndex);
String substring(int beginIndex);
二、转换
2.1将字符串编程字符串数组(字符串的切割)
String[] split(String reqex);设计到正则表达.
2.2将字符串变成字符数组
char[] toCharArray();
2.3将字符串变成字节数组
byte[] getBytes();
2.4将字符串中的字母转成大小写
String toUpperCase();大写
String toLowerCase();小写
2.5将字符串中的内容进行替换
String replace(char oldChar,char newChar);
三、判断
3.1两个字符串内容是否相同
boolean equals(Object obj);
boolean equalsIgnoreCase(String str);护绿大写比较字符串内容
3.2字符串中是否包含指定字符串
boolean contains(String str);
3.3字符串是否以指定字符串开头,是否以指定字符串结尾
boolean startsWith(String);
boolean endsWith(String);
四、比较
4.1按字典顺序比较两个字符串。
compareTo(String anotherString);
如果参数字符串等于此字符串,则返回值 0;如果此字符串按字典顺序小于字符串参数,则返回一个小于 0 的值;如果此字符串按字典顺序大于字符串参数,则返回一个大于 0 的值。
五、特殊一些的
5.1.String intern();
当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(用 equals(Object) 方法确定),
则返回池中的字符串。否则,将此 String 对象添加到池中,并返回此 String 对象的引用。
这些东西都是非常重要的,当然我个人还是希望学习的朋友可以把这些都弄明白,是思想上的明白而不是看明白,因为后期会经常用到这些的。本来是想举一些例子的,但是因为时间原因,以后有时间我在慢慢的补上。
倍棒