------- android培训、java培训、期待与您交流! ----------
String类:
特点:
1、字符串是一个特殊的对象。
2、字符串一旦初始化就不可以被改变。
3、String不能被继承。
一个常见的面试题:
String str = “abc” 和 String str1 = new String(“abc”);的区别:
“abc”是一个对象,前者只创建了一个对象,后者为两个对象。
1、获取
字符串中的包含的字符数,也就是字符串的长度。
int length();
根据位置获取位置上的某个字符。
char charAt(int index);
根据字符获取该字符在字符串中位置。
int indexOf(int ch)返回的是ch第一次在字符串中出现的位置;
int indexOf(int ch,int fromIndex);从fromIndex指定位置开始,查找ch在在字符串中出现的位置;
2、判断
字符串中是否包含某一个子串。 boolean contains(str)
字符串中是否有内容。 boolean isEmpty()
字符串是否是以指定内容开头。 boolean startsWith(str)
字符串是否是以指定内容结尾。 boolean endsWith(str)
判断内容是否相同,并忽略大小写。 boolean equalsIgnoreCase()
3、转换
将字符数组转换成字符串。
构造函数:String(char[]),String(char[],offset,count);
静态方法:static String copyValueOf(char[]);
Static String copyValueOf(char[],offset,count);
Static String valueOf(char[]);将基本数据类型转换为String。
将字符串转换成字符数组。
char[] toCharArray();
将字节数组转换成字符串。
将字符串转换成字节数组。
Byte[] getBytes();
4、替换
replace(oldchar,newchar);返回的是一个新的字符串。如果要替换的字符不存在,返回的还是原字符串。
replace(str,restr);
5、切割
String[] split(regex);
子串
String substring(begin);
String substring(begin,end);
转换大小写,去除空格,比较
将字符串转成大写或小写。
String toUpperCase();
String toLowerCase();
将字符串两端的多个空格去除。
String trim();
对两个字符串进行自然顺序的比较。
Int compareTo(String);
练习1:去除字符串两端的空格。
public static String myTrim(String str) { int start = 0,end = str.length()-1;//初始化两个指针变量,一前一后 while(start<=end && str.charAt(start)==' ') //从前取第一个不为空格的角标值 start++; while(start<=end && str.charAt(end)==' ')//从后往前取第一个不为空格的角标值 end--; return str.substring(start,end+1);//截取这个字符串 }
练习2:将字符串反转。
public static String reverseString(String s,int start,int end) { //字符串变数组。 char[] chs = s.toCharArray(); //反转数组。 reverse(chs,start,end); //将数组变成字符串。 return new String(chs); } /** * 将数组元素进行反转 * @param arr * @param x * @param y */ private static void reverse(char[] arr,int x,int y) { for(int start=x,end=y-1; start<end ; start++,end--) { swap(arr,start,end); } } /** * 交换元素方法 * @param arr * @param x * @param y */ private static void swap(char[] arr,int x,int y) { char temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; }
练习3:获取一个字符串在另一个字符串里出现的次数。
public static int getSubCount(String str,String key) { //初始化两个指针 int count = 0; int index = 0; while((index=str.indexOf(key))!=-1) {//判断字符串中是否有这个字符串,并记录角标值 System.out.println("str="+str); str = str.substring(index+key.length());//截取从上一次出现字符串的位置到最后剩下的字符串 count++; //记录出现的次数 } return count; }
练习4:获取两个字符串中最大相同子串。
public static String getMaxSubString(String s1,String s2) { String max = "",min = "";//初始化两个字符串 max = (s1.length()>s2.length())?s1: s2; //将长度较大的那个字符串赋值给max min = (max==s1)?s2: s1;//将长度小的赋值给min /** * 比较思想:拿长度较小的字符串去判断是否包含在长字符串中,如果没有包含 * 则将短串的长度缩减1,会出现两个子串,再去比较,如果没有,再缩减1个长度 * 此时出现3个子串,依次类推,直至出现包含的情况,即是最大长度的子串。 */ for(int x=0; x<min.length(); x++) { for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++) { String temp = min.substring(y,z); System.out.println(temp); if(max.contains(temp)) return temp; } } return ""; }
StringBuffer类:
StringBuffer是字符串缓冲区,是一个容器。长度是可变的,可以字节操作多个数据类型。最终会通过toString方法变成字符串。
1、存储 StringBuffer append():将字符串添加大已有数据的结尾处。
2、删除 StringBuffer delete(start,end):删除缓冲区中的数据,包含start。
StringBuffer deleteCharAt(index):删除指定位置的字符。
3、 获取
char charAt(int index);
int indexOf(String str);
int lastIndexOf(String str);
int length();
String substring(int start,int end);
4、修改
StringBuffer replace(start,end,str);
Void setCharAt(int index,char ch);
JDK升级的三个因素:
1、 提高效率
2、 简化书写
3、 提高安全性
基本数据类型对象包装类。
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
------- android培训、java培训、期待与您交流! ----------
相关推荐
针对设置settings --- compiler --- 在compiler flag中 --- 勾选 have g++ follow the C++ 11 ISO C++ language standard,点击ok之后,仍然不能解决to_string()的解决方案用到的替换文件 具体解决方案常见:...
C#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400_StringC#例子代码 A0400...
basic_string源码,所有的basic_string的函数都实现
C++ stl中重要容器string类的构造方法与基本概念和一些有用的字符串操作
c++_string类详解,很详细的string类知识
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
6_string类讲义1
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
内容为:【第5章:面向对象基础】_String类的常用方法.rar
Automatically analyze the parameter type and invoke the 'operator<<' interface to transform it to string. /** @fn to_string @brief transform the input value to string @param [in] T the value type is ...
Arduino项目开发 Strings_StringSubstring_StringSubstring.pdf 学习资料 复习资料 教学资源
可用作类非类型模板参数(自C ++ 20起) 例子 建造 constexpr fixstr::fixed_string foo = " foo " ; 级联 using namespace fixstr ; constexpr fixed_string first = " Hello, " ; constexpr fixed_string ...
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR
Synthetic_Chinese_String_Dataset 中文识别数据集 1 for https://gitee.com/chenyang918/Lets_OCR