android学习札记第5章之字符串处理javaapi2

2025-04-21 14:09:30

android项目开发中需要对字符串进行处理的时候是非常多的,JAVA API中字符串处理的类主要有三个,String、StringBuilder、StringBuffer,下面针对这三种做详细的介绍。

工具/原料

JDK、eclipse、android SDK、ADT

一、JAVA API之java.lang.String

1、字符串的重要特性:不可变(字符属性是私有的,没有修改字符的方法)。 字符串用加号“+”连接,效率低。 如:String d=a+b+c;:效率低 String e="abc"+"def"+"ghi";:效率高//编译器,将代码直接编译成String e="abcdefghi";

android学习札记第5章之字符串处理javaapi2

2、创建对象:字符串是内部封装的一个char[]数组,所以有两种方式:String b="hello";String a=new String(new char[]{'h','e','l','l','o'});

android学习札记第5章之字符串处理javaapi2

3、第一次用到一个字面值时会在“字符串常量池”中创建对象分配内存,之后再一次用到相同的字面值,蒉翟蛳庹从“常量池”获取已经存在的对象,而不讵畿缤耒会新建对象,等号“==”比较的是内存地址。如:"abc"=="abc"返回true,"abc"==new char[]{'a','b','c'}返回false,如需比较每个字符,就用String类中equals方法比较。注:String s1="a";String s2="b";System.out.println(s1+s2=="a"+"b");//返回false,因为字符串变量相加不进行优化,内存地址不同。System.out.println("ab"=="a"+"b");//返回true,因为内存地址相同,直接取常量池里的字符串。

android学习札记第5章之字符串处理javaapi2

4、String字符串的方法: charAt(int index):字符言射鐾钤串查找1 toUpperC锾攒揉敫ase():新字符串变为大写 toLowerCase():新字符串变为小写 length():字符串长度 compareTo(String anoterString):比较字符串大小,当前字符串大返回正数,否则负数,相同返回0。 startWith(String s):是否以字符串开头 endsWith(String s):是否以字符串结尾 equals(Object o):比较相等 equalsIgnoreCase(Object o):忽略大小写比较相等 indexOf(String s):获得字符串的起始位置 intdexOf(String s,int index):从index开始找,返回s的位置 lastIndexOf(String s):从后往前找字符串,返回位置 replace(char a,char b):把a替换成b substring(int a):截取从a开始的字符串 substring(int a,int b):截取a到b之间的字符串 trim():去除头尾空格 String.valueOf:将任何类型的数据转为字符串 getByte():把字符串转化为byte数组

android学习札记第5章之字符串处理javaapi2

5、String练习:①:从email提取名字部分,判断字符串中是否含有@和点“.”。②:判断字符串是否是回文。③:反转字符串。

android学习札记第5章之字符串处理javaapi2
android学习札记第5章之字符串处理javaapi2
android学习札记第5章之字符串处理javaapi2

二、JAVA API之java.lang.StringBuilder和StringBuffer

1、StringBuilder是可变的字符序列,封装了一个char[]字符数组,提供一组对内部字符修改的方法。 可以代替字符串,做高效率的字符串连接。 StringBuilder sb=new StringBuilder(); sb.append();

android学习札记第5章之字符串处理javaapi2

2、创建对象: StringBuilder sb=new StringBuilder();//空串 StringBuilder sb=new StringBuilder("abc");//"abc"

android学习札记第5章之字符串处理javaapi2

3、StringBuilder字符串的方法: append()追加字符串 罕铞泱殳 delect(int start,int 髫潋啜缅end):删除[start,end)范围的字符串 delectCharAt(int index):删除index位置的字符串 insert(int index,子串):从index位置插入子串 replace(int start,int end,String str):将[start,end)范围的字符串替换为str reverse():反转字符串 setCharAt(int index,char ch):将index位置的字符替换为ch toString():转化为String格式

android学习札记第5章之字符串处理javaapi2

4、java.lang.StringBuffer用法和java.lang.StringBuilder类似。 StringBuilder线程不安全,单线程使用StringBuilder; StrringBuffer线程安全,多线程使用StringBuffer,但在单线程下效率没StringBuilder高,所以单线程用StringBuilder。

android学习札记第5章之字符串处理javaapi2

5、StringBuilder和StringBuffer练习:爱好选择:从多个多选框把爱好中选择出来,并显示,若取消了选择,也要从显示的字符串中删除。

android学习札记第5章之字符串处理javaapi2
android学习札记第5章之字符串处理javaapi2

三、作业

1、让用户输入字符串,去除重复的字符。如:aabbbbccaabbcc->abc。

android学习札记第5章之字符串处理javaapi2

2、从字符串中找到一个子串出现的所有位置。 如:输入:abc abc abc。再输入查找的子串:bc->输出位置。

android学习札记第5章之字符串处理javaapi2
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢