1. String类复写了Object类中的equals方法,该方法用于判断字符串是否相同
String s1 = “abc”
String s2 = new String(“abc”)
s1==s2 false s1.equals(s2)true
s1在内存中有一个对象,s2在内存中有两个对象
2. 字符串的长度 int length()它是方法,数组中是属性没有括号
3. “ “ 是对象, null 是指向空
4.String的方法
判断
boolean isEmpty():判断长度是否为0
boolean startWith():字符串是否以指定内容开头
boolean endsWith():字符串是否以指定内容结尾
boolean equals():判断内容是否相同
boolean equalsIgnoreCase():判断内容是否相同,并忽略大小写
boolean contains(str):判断字符串中是否包含某一个字符串
indexOf(str):可查找str第一次出现的位置,返回-1不存在,也可用于指定判断是否包含,还能获取出现的位置
获取
int length():获取长度
char charAt(int index):根据位置获取该位置上的某个字符
int indexOf(int ch)
int indexOf(int ch,int fromIndex)
int indexOf(String str)
int indexOf(String str,int fromIndex)
int lastIndexOf(int ch)
转换
构造函数 String(char[ ])
String(char[ ] ,offset, count)
静态方法 static String valueOf(char [ ])
char [ ] toCharArray();字符串转字符数组
Sring(byte[ ])字节数组转字符串
String (byte[ ]),offset ,count) 一部分转
byte[ ] getBytes() 字符串转为字节数组
static String valueOf(int)
static String valueOf(double)
3+“” 和String.valueOf(3)一样
字符串和字节数组在转换过程中,是可以指定编码表的
替换
String[ ] replace(oldchar,newchar);
切割
String[ ] split(regex);
子串
String substring(begin)
String substring(begin,end)
装换,去除空格,比较
StringtoUpperCase();
StringtoLowerCase();
String trim();
int compareTo(String);返回0相等
练习
class StringTest { public static void main(String[] args) { String s = " ab cd "; sop(s); // s = myTrim(s); // sop(s); sop(reverseString(s)); } public static void sop(String str) { System.out.println(str); } //练习一,去除字符串两端的空格 public static String myTrim(String str) { int start = 0; int end = str.length() - 1; while (start <= end && str.charAt(start) == ' ') start++; while (start <= end && str.charAt(end) == ' ') end--; return str.substring(start, end + 1); } //练习二,将字符串全部反转,及部分反转 public static String reverseString(String s, int start, int end) { char[] chs = s.toCharArray();//字符串变为字节数组 reverse(chs, start, end);//反转数组 return new String(chs);//将数组变为字符串 } public static String reverseString(String s) { return reverseString(s, 0, s.length()); } 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); } } private static void swap(char[] arr, int start, int end) { char temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } }
判断String中包含某个字符的次数
一、
string str = "sfsfluljslfnslafuensdfre";
string s="s";
int count= str.Length - str.Replace(s,"").Length;
二、
int
count = 0;
string
str =
"sfsfluljslfnslafuensdfre"
;
foreach
(
char
c
in
str)
{
if
(c ==
's'
)
{
count++;
}
}