Skip to content

Commit bacaae7

Browse files
authored
Add files via upload
1 parent 454e783 commit bacaae7

File tree

7 files changed

+322
-0
lines changed

7 files changed

+322
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package String;
2+
3+
import org.junit.Test;
4+
5+
public class StringBufferBuilderTest {
6+
@Test
7+
public void test2(){
8+
StringBuffer str1 = new StringBuffer("abc");
9+
str1.append(1);
10+
str1.append('1');
11+
System.out.println(str1);
12+
13+
//System.out.println(str1.delete(2, 4));
14+
//System.out.println(str1.replace(2, 4, "hello"));
15+
//System.out.println(str1.insert(2, false));
16+
17+
//反转
18+
str1.reverse();
19+
System.out.println(str1);
20+
}
21+
22+
23+
@Test
24+
public void test1(){
25+
StringBuffer sb1 = new StringBuffer("abc");
26+
sb1.setCharAt(0,'m');
27+
System.out.println(sb1);//mbc
28+
29+
StringBuffer sb2 = new StringBuffer();
30+
System.out.println(sb2.length());//0
31+
}
32+
}

JavaCode/String/StringDemo.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package String;
2+
3+
//将一个字符串进行反转,将字符串中指定部分进行反转,比如"abcdefg"转换为"abfedcg"
4+
5+
import org.junit.Test;
6+
7+
public class StringDemo {
8+
//方法一:将字符串转换为字符数组
9+
public String reverse1(String str,int startIndex,int endIndex){
10+
if(str != null){
11+
char[] charArray = str.toCharArray();
12+
for(int x = startIndex,y = endIndex;x < y;x++,y--){
13+
char temp = charArray[x];
14+
charArray[x] = charArray[y];
15+
charArray[y] = temp;
16+
}
17+
return new String(charArray);
18+
}else{
19+
return null;
20+
}
21+
22+
}
23+
24+
//方法二:使用字符串拼接
25+
public String reverse2(String str,int startIndex,int endIndex){
26+
String startString = str.substring(0,startIndex);
27+
for(int i = endIndex;i >= startIndex;i--){
28+
startString += str.charAt(i);
29+
}
30+
startString += str.substring(endIndex + 1);
31+
return startString;
32+
}
33+
34+
//方法三:使用StringBuilder或者StringBuffer来替代String
35+
public String reverse3(String str,int startIndex,int endIndex){
36+
StringBuilder builder = new StringBuilder(str.length());
37+
38+
builder.append(str.substring(0,startIndex));
39+
40+
for (int i = endIndex; i >= startIndex ; i--) {
41+
builder.append(str.charAt(i));
42+
}
43+
44+
builder.append(str.substring(endIndex + 1));
45+
46+
return new String(builder);
47+
}
48+
49+
50+
@Test
51+
public void test(){
52+
String str = "abcdefg";
53+
System.out.println(reverse3(str, 2, 5));
54+
}
55+
}

JavaCode/String/StringDemo1.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package String;
2+
3+
//获取一个字符串在另一个字符串中出现的次数
4+
//比如获取"ab"在字符串"abkkcadkabkebfkabkskab"中出现的次数
5+
6+
import org.junit.Test;
7+
8+
public class StringDemo1 {
9+
public int getCount(String mainString,String subString){
10+
int mainLength = mainString.length();
11+
int subLength = subString.length();
12+
int count = 0;
13+
int index;
14+
15+
if(mainLength >= subLength){
16+
while((index = mainString.indexOf(subString)) != -1){
17+
count++;
18+
mainString = mainString.substring(index + subLength);
19+
}
20+
return count;
21+
}else{
22+
return 0;
23+
}
24+
}
25+
26+
@Test
27+
public void test(){
28+
String mString = "abkkcadkabkebfkabkskab";
29+
String sString = "ab";
30+
int count = getCount(mString,sString);
31+
System.out.println(count);
32+
}
33+
}

JavaCode/String/StringDemo2.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package String;
2+
3+
//获取两个字符串中最长的相同子串
4+
//比如:str1 = "abcwerthelloyuiodef",str2 = "cvhellobnm"
5+
6+
import org.junit.Test;
7+
8+
public class StringDemo2 {
9+
public String getMaxSameString(String str1,String str2){
10+
String maxStr = (str1.length() >= str2.length())? str1 : str2;
11+
String minStr = (str1.length() < str2.length())? str1 : str2;
12+
int length = minStr.length();
13+
14+
//外层循环比较长度递减
15+
for(int i = 0;i < length;i++){
16+
//内层循环比较相同长度的不同子串
17+
for(int x = 0,y = length - i;y <= length;x++,y++){
18+
if(maxStr.contains(minStr.substring(x,y))){
19+
return minStr.substring(x,y);
20+
}
21+
}
22+
}
23+
return null;
24+
}
25+
26+
@Test
27+
public void test(){
28+
String str1 = "abcwerthelloyuiodef";
29+
String str2 = "cvhellobnm";
30+
String sameString = getMaxSameString(str1,str2);
31+
System.out.println(sameString);
32+
}
33+
34+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package String;
2+
3+
import org.junit.Test;
4+
5+
public class StringMethodTest {
6+
@Test
7+
public void test4(){
8+
String str1 = "helloworld";
9+
System.out.println(str1.replace('h', 'H'));
10+
}
11+
12+
13+
@Test
14+
public void test3(){
15+
String str1 = "helloworld";
16+
System.out.println(str1.endsWith("ld"));
17+
System.out.println(str1.startsWith("hh"));
18+
//记录指定字符串的内容以及开始的位置
19+
System.out.println(str1.startsWith("ll", 2));
20+
21+
System.out.println(str1.contains("wo"));
22+
//返回字符串的角标,如果没有则返回-1
23+
System.out.println(str1.indexOf("lo"));
24+
System.out.println(str1.lastIndexOf("or"));
25+
}
26+
27+
28+
29+
@Test
30+
public void test2(){
31+
String s1 = "HelloWorld";
32+
String s2 = "helloworld";
33+
System.out.println(s1.equals(s2));
34+
System.out.println(s1.equalsIgnoreCase(s2));
35+
36+
String s3 = "abc";
37+
String s4 = s3.concat("def");
38+
System.out.println(s4);
39+
40+
String s5 = "abc";
41+
String s6 = "abe";
42+
//逐个比较两个字符串,返回值数据类型为int
43+
System.out.println(s5.compareTo(s6));//用于通讯录排序
44+
45+
String s7 = "helloworld";
46+
System.out.println(s7.substring(3));
47+
System.out.println(s7.substring(2, 4));
48+
}
49+
50+
51+
@Test
52+
public void test1(){
53+
String s1 = "HelloWorld";
54+
System.out.println(s1.length());
55+
System.out.println(s1.charAt(0));
56+
System.out.println(s1.isEmpty());
57+
58+
String s2 = s1.toLowerCase();
59+
System.out.println(s2);
60+
61+
String s3 = " hello w orld ";
62+
//去除首尾的空格
63+
String s4 = s3.trim();
64+
System.out.println(s4);
65+
66+
}
67+
68+
}

JavaCode/String/StringTest.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package String;
2+
3+
import org.junit.Test;
4+
5+
public class StringTest {
6+
@Test
7+
public void test3(){
8+
String s1 = "Java";
9+
String s2 = "hadoop";
10+
11+
String s3 = "Javahadoop";
12+
String s4 = "Java" + "hadoop";
13+
String s5 = s1 + "hadoop";
14+
15+
String s6 = s1 + s2;
16+
17+
System.out.println(s3 == s4);//true
18+
System.out.println(s3 == s5);//false
19+
System.out.println(s3 == s6);//false
20+
21+
String s7 = s4.intern();
22+
System.out.println(s3 == s7);//true
23+
}
24+
25+
26+
27+
28+
@Test
29+
public void test2(){
30+
String s1 = "JAVAEE";
31+
String s2 = "JAVAEE";
32+
33+
String s3 = new String("JAVAEE");
34+
String s4 = new String("JAVAEE");
35+
36+
System.out.println(s1 == s2);//true
37+
System.out.println(s1 == s3);//false
38+
System.out.println(s3 == s4);//false
39+
}
40+
41+
42+
43+
@Test
44+
public void test1(){
45+
String s1 = "abc";
46+
String s2 = "abc";
47+
48+
System.out.println(s1 == s2);
49+
}
50+
}

JavaCode/String/StringTest1.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package String;
2+
3+
import org.junit.Test;
4+
5+
import java.util.Arrays;
6+
7+
public class StringTest1 {
8+
@Test
9+
//String和byte[]字节数组之间的转换
10+
//编码:字符串-->字节
11+
//解码:字节-->字符串
12+
public void test3(){
13+
String s1 = "abc123中国";
14+
byte[] bytes = s1.getBytes();
15+
System.out.println(Arrays.toString(bytes));
16+
17+
String str = new String(bytes);
18+
System.out.println(str);
19+
}
20+
21+
22+
@Test
23+
//String和char[]之间的转换
24+
public void test2(){
25+
String str1 = "abc123";
26+
char[] charArray = str1.toCharArray();
27+
for (int i = 0; i < charArray.length; i++) {
28+
System.out.println(charArray[i]);
29+
}
30+
31+
System.out.println("******************");
32+
33+
char[] arr = new char[]{'h','e','l','l','o'};
34+
String str2 = new String(arr);
35+
System.out.println(str2);
36+
}
37+
38+
39+
@Test
40+
//String和基本数据类型,包装类的转换
41+
public void test1(){
42+
String str1 = "123";
43+
int num = Integer.parseInt(str1);
44+
num++;
45+
System.out.println(num);
46+
47+
String str2 = String.valueOf(num);
48+
System.out.println(str2);
49+
}
50+
}

0 commit comments

Comments
 (0)