鸟哥Java学习之String类 and StringBuffer类-常用对象API
来源:互联网 发布:软件前端和后端 编辑:程序博客网 时间:2024/06/12 00:17
1.java.lang包是Java核心类,会自动导入程序中,String类就是在其中。
4.StringBuilder:此类提供一个与
创建:两种方式,一个在常量池中,一个在堆内存中(new)。String对象一旦创建其内容就不会改变。
2.String类方法:常见功能
获取:
int indexOf(int ch) 返回指定字符第一次出现的位置索引
int indexOf(int ch,int fromIndex)
int indexOf(string str) 获取字符串第一次出现的位置
获取子串 substring
转换:
String[] split(String regex) 字符串切割,参数是规则,涉及到正则表达式。
char[] toCharArray() 字符串转成字符数组
byte[] getBytes() 字符串转成字节数组
String toUpperCase() 字符串字母转成大小写
String replace(char oldch,char newch)字符串内容进行替换
String replace(String s1,String s2)
trim() 去除字符串两端空格,实际开发中有用,用户在输入信息后习惯输入空 格
String concat(String)字符串连接 同+
判断:
字符串内容是否相等 boolean equalsIgnoreCase()忽略字母大小写
字符串中是否包含某一字符串boolean contains(CharSequence s)
字符串是否以指定字符串开头,是否以指定字符串结尾boolean startsWith(String prefix)
比较:
int compareTo(String anotherString) 按照字符ASCII码顺序
3.StringBuffer:字符串缓冲区, 容器对象。特点:长度可变,可以存储不同类型数据,最终转成字符串进行处理,可以对字符串进行修改。
方法:
添加 append(data)
插入 insert(index,data)
删除 delete(start,end)包含头不包含尾,注意清空缓冲区
都是返回缓冲区。
修改 replace,void setCharAt
查找 根据内容查角标 indexOf 和根据角标查内容 charAt
4.StringBuilder:此类提供一个与StringBuffer
兼容的 API,但不保证同步。该类被设计用作StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer
要快。
package string.p1.demo;
/*
* 给定一个字符串数组,按照字典顺序从小到大排序
* {"nba","abc","cba","zz","qq","haha"}
* 思路:
* 1.数组排序,选择或冒泡
* 2.for嵌套,字符串比较compareTo(),换位
*
*/
public class test1 {
public static void main(String[] args) {
String[] arr = {"nba","abc","cba","zz","qq","haha"};
printArray(arr);
sortArray(arr);
printArray(arr);
}
public static void sortArray(String[] arr) {
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++)
if(arr[i].compareTo(arr[j])>0)
swap(arr,i,j);
}
}
public static void swap(String[] string,int i,int j) {
String temp=string[i];
string[i]=string[j];
string[j]=temp;
}
public static void printArray(String[] arr) {
System.out.print("[");
for(int i=0;i<arr.length;i++){
if(i!=arr.length-1)
System.out.print(arr[i]+',');
else
System.out.println(arr[i]+']');
}
}
}
package string.p1.demo;
/*
* 子串的在整串中出现的次数getkeystringcount(str,key)
* 思路:
* 1.子串是否存在,不存在 -1,若存在,获取子串第一次出现的位置 int indexOf(string str)
* 2.取剩余子串,剩余子串 的初始位置即是出现的位置+剩余子串长度
* 3.以此类推,即循环1,2。并对每次找到用计数器count
*
* 改进:getkeystringcount_1(str,key)
* int indexOf(string str,index)从某个位置开始找
*/
public class test2 {
public static void main(String[] args) {
String str = "nbajhioheoihnbajnba";
String key = "nba";
int count = getkeystringcount_1(str,key);
System.out.println("count="+count);
}
public static int getkeystringcount_1(String str, String key) {
int count = 0;
int index = 0;
while((index = str.indexOf(key,index)) != -1){
//str = str.substring(index + key.length());
index = index + key.length();
count++;
}
return count;
}
}
package string.p1.demo;
/*
* 两个字符串中最大相同子串
* 思路:
* 1.选择更短的字符串,先一整串比,看长串是否包含,若包含,则返回,若不包含,则2
* 2.选取短串长度-1的子串再看是否包含
* 3.循环直至找出,外循环一共需要短串长度str2.length()趟,内循环则是对应子串选取
*/
public class test3 {
public static void main(String[] args) {
String str1 = "ahirewonproieop";
String str2 = "ngdlsirewo";
String str = getMaxSubString(str1,str2);
System.out.println(str);
}
/**
* 获取最大子串
* @param str1
* @param str2
* @return String
*/
public static String getMaxSubString(String str1, String str2) {
for(int i = 0;i<str2.length();i++){
for(int x = 0,y=str2.length()-i;y!=str2.length()+1;x++,y++){
String sub = str2.substring(x,y);
if(str1.contains(sub)) return sub;
}
}
return null;
}
}
0 0
- 鸟哥Java学习之String类 and StringBuffer类-常用对象API
- 黑马程序员 常用对象API-- String类、Stringbuffer、StringBuilder总结
- 常用对象API(String类)和 StringBuffer
- 黑马程序员《常用对象API string类 stringbuffer、stringBuilder》
- Java常用基础类之String、StringBuffer
- java 常用类之String-StringBuffer
- JAVA学习第三十一课(常用对象API)- StringBuffer类&&StringBuilder类
- (23)Java学习笔记——常用对象API / StringBuffer类
- Java之常用API(Object、String、StringBuffer、StringBuilder)
- 【Java重新学习】常用API对象-String
- JAVA 常用API String 对象 学习笔记
- JAVA基础--IDE&Object类、常用API-String类、常用API-Arrays、System、StringBuffer&Integer类和Date类、对象数组
- 黑马程序员之java中操作字符串的常用类String和StringBuffer学习
- 02java语法回顾_常用api类之stringbuffer
- Java基础-常用API之String类
- [Java] 常用类-01 String / StringBuffer
- Java 常用类String、StringBuffer和StringBuilder
- java-类与对象 String StringBuffer
- httpURLconnection
- CPU评测
- css2的几种特殊选择器
- UVALive - 3135 Argus【优先队列】
- iOS之音频
- 鸟哥Java学习之String类 and StringBuffer类-常用对象API
- Hide StatusBar and fullscreen with Ionic 2 and Cordova
- java.lang.OutOfMemoryError: Java heap space解决方法
- 最近邻(NNC)
- HttpURLConnection
- Android开发之利用ViewPager实现导航页和滑动标签页效果
- SparseArray源码解析
- Codeblocks下搭建gtest框架
- 【刷题之路】不使用额外空间交换两个数