String
String:
package frequently.string;
public class Demo01 {
public static void main(String[] args) {
String s1="abc";
String s2="abc";
System.out.println(s1==s2);
s1="hello";
System.out.println(s1==s2);
String s3="abc";
s3+="def";
System.out.println(s3==s2);
String s4="abc";
String s5=s4.replace('a','d');
System.out.println(s5);
System.out.println(s5==s2);
String s6=new String();
String s7=new String("hello");
String s10=new String("hello");
System.out.println(s2==s7);
System.out.println(s10==s7);
System.out.println(s10.equals(s10));
String s8=new String(s1);
char[] a= {'a','b','c','d','e'};
String s9=new String(a,0,2);
System.out.println(s6);
System.out.println(s7);
System.out.println(s8);
System.out.println(s9);
Person p1=new Person("Tom",11);
Person p2=new Person("Tom",13);
System.out.println(p1.name==p2.name);
String sa="abc";
String sb="def";
String sc="abcdef";
String sd="abc"+"def";
String se=sa+"def";
String sf="abc"+sb;
String sh=sa+sb;
final String sj="abc";
String sk=sj+"def";
String si=se.intern();
System.out.println(sc==sd);
System.out.println(sc==se);
System.out.println(sc==sf);
System.out.println(sc==sh);
System.out.println(se==sf);
System.out.println(si==sc);
System.out.println(sk==sc);
}
}
package frequently.string;
public class Person {
String name;
int age;
public Person() {
}
public Person(String name,int age) {
this.name=name;
this.age=age;
}
}
String与char[ ]的传递对比:
package frequently.string;
public class StringTest {
String str=new String("good");
char[] ch= {'t','e','s','t'};
public void change(String str,char[] ch) {
str="test ok";
ch[0]='b';
}
public static void main(String[] args) {
StringTest ex=new StringTest();
ex.change(ex.str,ex.ch);
System.out.println(ex.str);
System.out.println(ex.ch);
}
}
String的转换与拼接:
package frequently.string;
import java.util.Arrays;
public class StringTest1 {
public static void main(String[] args) {
StringTest1 s=new StringTest1();
s.test1();
s.test2();
s.test3();
s.test4();
}
public void test1() {
String str1="123";
int num=Integer.parseInt(str1);
System.out.println(num);
String str2=String.valueOf(num);
String str3=str2+"";
System.out.println(str1==str3);
}
public void test2() {
String s1="abc123";
char[] ch=s1.toCharArray();
for(int i=0;i<ch.length;i++) {
System.out.print(ch[i]+"\t");
}
System.out.println("");
char[] ch1=new char[] {'h','i'};
String s2=new String(ch1);
System.out.println(s2);
}
public void test3(){
String s1="abc123";
byte[] b1=s1.getBytes();
System.out.println(Arrays.toString(b1));
String s2=new String(b1);
System.out.println(s2);
}
public void test4() {
String s1="hello";
StringBuffer s2=new StringBuffer(s1);
System.out.println(s2);
String s3=s1.toString();
System.out.println(s3);
}
}
String常用方法:
package frequently.string;
public class StringMethodTset {
public static void main(String[] args) {
StringMethodTset s=new StringMethodTset();
s.test1();
}
public void test1() {
String s1="helloworld";
System.out.println(s1.charAt(5));
String s2=s1.toUpperCase();
System.out.println(s1);
System.out.println(s2);
String s3=" helloworld ";
String s4=s3.trim();
System.out.println(s3);
System.out.println(s4);
String s5="abc";
String s6=s5.concat(s2);
System.out.println(s6);
System.out.println(s1.compareTo(s2));
String s7=s1.substring(2, 4);
System.out.println(s7);
System.out.println(s1.endsWith("world"));
System.out.println(s1.startsWith("Hell"));
System.out.println(s1.startsWith("llo", 2));
System.out.println(s1.contains("wor"));
System.out.println(s1.indexOf("o"));
System.out.println(s1.indexOf("el",5));
System.out.println(s1.lastIndexOf("o"));
System.out.println(s1.lastIndexOf("ld", 7));
String s8=s1.replace('o', 'e');
System.out.println(s8);
String s9=s1.replace("el", "e");
System.out.println(s9);
String s10="123dwd565few7e8";
String s11=s10.replaceAll("\\d+", " ").replaceAll("^ | $", "");
System.out.println(s11);
String s12="0535-123456";
System.out.println(s12.matches("0535-\\d{4,8}"));
String s13="hell|jidw|jn";
String[] s14=s13.split("\\|");
for(int i=0;i<s14.length;i++) {
System.out.println(s14[i]);
}
}
}
String. StringBuffer. StringBuilder:
package frequently.string;
public class StringBufferBuilderTest {
public static void main(String[] args) {
StringBufferBuilderTest s=new StringBufferBuilderTest();
s.test1();
s.test2();
}
public void test1() {
StringBuffer sb1=new StringBuffer("abc");
sb1.setCharAt(0, 'm');
System.out.println(sb1);
System.out.println(sb1.length());
}
public void test2() {
StringBuffer s1=new StringBuffer("abc");
s1.append(1);
s1.append('1');
System.out.println(s1);
s1.delete(1, 3);
System.out.println(s1);
s1.replace(1, 2, "qw");
System.out.println(s1);
s1.insert(2, "dad");
System.out.println(s1);
String s2=s1.substring(1,5);
System.out.println(s2);
}
}
获取两个字符串的最大相同子串:
package frequently.string;
import java.util.Arrays;
public class MaxString {
public static void main(String[] args) {
String s1="abcwerthelloyouidefasablld";
String s2="cvhellobnmablld";
String s=new String();
MaxString maxString=new MaxString();
s=maxString.getMaxSameString(s1, s2);
System.out.println(s);
String[] s3=maxString.getMaxSameString1(s1, s2);
System.out.println(Arrays.toString(s3));
}
public String getMaxSameString(String s1,String s2) {
if(s1!=null&&s2!=null) {
String maxStr=(s1.length()>=s2.length())?s1:s2;
String minStr=(s1.length()<s2.length())?s1:s2;
int len=minStr.length();
for(int i=0;i<len;i++) {
for(int x=0,y=len-i;y<=len;x++,y++) {
String subStr=minStr.substring(x, y);
if(maxStr.contains(subStr)) {
return subStr;
}
}
}
}
return null;
}
public String[] getMaxSameString1(String s1,String s2) {
StringBuffer s=new StringBuffer();
if(s1!=null&&s2!=null) {
String maxStr=(s1.length()>=s2.length())?s1:s2;
String minStr=(s1.length()<s2.length())?s1:s2;
int len=minStr.length();
for(int i=0;i<len;i++) {
for(int x=0,y=len-i;y<=len;x++,y++) {
String subStr=minStr.substring(x, y);
if(maxStr.contains(subStr)) {
s.append(subStr+",");
}
}
if(s.length()!=0) {
break;
}
}
}
String[] aplit=s.toString().replace(",$", "").split("\\,");
return aplit;
}
}
小例子:
package frequently.string;
public class PrintStr {
public static void main(String[] args) {
String str=null;
StringBuffer sb=new StringBuffer();
sb.append(str);
System.out.println(sb.length());
System.out.println(sb);
}
}
Date
package frequently.date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
DateTest d=new DateTest();
d.test1();
d.test2();
d.test3();
d.test4();
d.test5();
d.test6();
d.test7();
d.test8();
}
public void test1() {
long time=System.currentTimeMillis();
System.out.println(time);
}
public void test2() {
Date date1=new Date();
System.out.println(date1.toString());
System.out.println(date1.getTime());
Date date2=new Date(1627022512552L);
System.out.println(date2.toString());
Date date3=new java.sql.Date(1627022512552L);
System.out.println(date3.toString());
Date date4=new java.sql.Date(1627022512552L);
java.sql.Date date5=(java.sql.Date) date4;
System.out.println(date5.toString());
java.sql.Date date6=new java.sql.Date(date1.getTime());
System.out.println(date6.toString());
}
public void test3(){
SimpleDateFormat sdf=new SimpleDateFormat();
Date date=new Date();
String s=sdf.format(date);
System.out.println(s);
String str="21-7-23 下午6:40";
Date date1;
try {
date1 = sdf.parse(str);
System.out.println(date1);
} catch (ParseException e) {
e.printStackTrace();
}
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
String s1=sdf1.format(date);
System.out.println(s1);
Date date2;
try {
date2 = sdf1.parse(s1);
System.out.println(date2);
} catch (ParseException e) {
e.printStackTrace();
}
}
public void test4() {
Calendar calendar=Calendar.getInstance();
int days=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
calendar.set(Calendar.DAY_OF_MONTH, 11);
days=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
calendar.add(Calendar.DAY_OF_MONTH, 3);
days=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
calendar.add(Calendar.DAY_OF_MONTH, -3);
days=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
Date date=calendar.getTime();
System.out.println(date);
Date date1=new Date();
calendar.setTime(date1);
days=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(days);
}
public void test5() {
}
public void test6() {
LocalDate localdate=LocalDate.now();
LocalTime localtime=LocalTime.now();
LocalDateTime localDatetime=LocalDateTime.now();
System.out.println(localdate);
System.out.println(localtime);
System.out.println(localDatetime);
LocalDateTime localDateTime1=LocalDateTime.of(2020,10,1,13,23,43);
System.out.println(localDateTime1);
System.out.println(localDatetime.getDayOfMonth());
LocalDate localDate1=localdate.withDayOfMonth(1);
System.out.println(localdate);
System.out.println(localDate1);
LocalDateTime localDateTime3=localDatetime.plusMonths(3);
System.out.println(localDatetime);
System.out.println(localDateTime3);
LocalDateTime localDateTime4=localDatetime.minusMonths(3);
System.out.println(localDatetime);
System.out.println(localDateTime4);
}
public void test7() {
Instant instant=Instant.now();
System.out.println(instant);
OffsetDateTime offsetDateTime= instant.atOffset(ZoneOffset.ofHours(8));
System.out.println(offsetDateTime);
long lli =instant.toEpochMilli();
System.out.println(lli);
Instant instant2= Instant.ofEpochMilli(1627044270406L);
System.out.println(instant2);
}
public void test8() {
DateTimeFormatter formatter=DateTimeFormatter.ISO_LOCAL_TIME;
LocalDateTime localDateTime=LocalDateTime.now();
String s1=formatter.format(localDateTime);
System.out.println(localDateTime);
System.out.println(s1);
DateTimeFormatter formatter2= DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
String s2=formatter2.format(localDateTime);
System.out.println(s2);
DateTimeFormatter formatter3=DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
String s3=formatter3.format(LocalDate.now());
System.out.println(s3);
DateTimeFormatter formatter4= DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
String s4=formatter4.format(LocalDateTime.now());
System.out.println(s4);
TemporalAccessor accessor= formatter4.parse("2021-07-23 09:13:20");
System.out.println(accessor);
}
}
排序
package frequently.compare;
import java.util.Arrays;
import java.util.Comparator;
public class CompareTest {
public static void main(String[] args) {
CompareTest test=new CompareTest();
test.test1();
test.test2();
test.test3();
test.test4();
}
public void test1() {
String[] arr=new String[] {"aa","dw","qs","as","wd"};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
public void test2() {
Goods[] arr=new Goods[4];
arr[0]=new Goods("aa",12);
arr[1]=new Goods("ba",12);
arr[2]=new Goods("ra",34);
arr[3]=new Goods("ra",11);
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
public void test3() {
String[] arr=new String[] {"aa","dw","qs","as","wd"};
Arrays.sort(arr,new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
if (o1 instanceof String&&o2 instanceof String) {
String s1=(String)o1;
String s2=(String)o2;
return -s1.compareTo(s2);
}
throw new RuntimeException("数据类型不一致");
}
});
System.out.println(Arrays.toString(arr));
}
public void test4() {
Goods[] arr=new Goods[4];
arr[0]=new Goods("aa",12);
arr[1]=new Goods("ba",12);
arr[2]=new Goods("ra",34);
arr[3]=new Goods("ra",11);
Arrays.sort(arr,new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
if(o1 instanceof Goods&&o2 instanceof Goods) {
Goods g1=(Goods)o1;
Goods g2=(Goods)o2;
if(g1.getName().equals(g2.getName())) {
return -Double.compare(g1.getPrice(), g2.getPrice());
}else {
return g1.getName().compareTo(g2.getName());
}
}
throw new RuntimeException("数据类型不一致");
}
});
System.out.println(Arrays.toString(arr));
}
}
```java
package frequently.compare;
public class Goods implements Comparable<Object>{
private String name;
private double price;
public Goods() {
}
public Goods(String string, double i) {
this.name=string;
this.price=i;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Goods{name="+name+'\''+",price="+price+'}';
}
@Override
public int compareTo(Object o) {
if (o instanceof Goods) {
Goods goods=(Goods)o;
if(this.price>goods.price) {
return 1;
}
else if (this.price<goods.price) {
return -1;
}
else {
return this.name.compareTo(goods.name);
}
}
throw new RuntimeException("数据类型不一致");
}
}
System,BigInteger,BigDecimal
package frequently.other;
import java.math.BigDecimal;
import java.math.BigInteger;
public class Other {
public static void main(String[] args) {
Other other=new Other();
other.test1();
other.test2();
}
public void test1() {
String javaVersion = System. getProperty("java.version");
System. out . println("java的version:" + javaVersion);
String javaHome = System. getProperty("java.home");
System. out . println("java的home:" + javaHome);
String osName = System. getProperty("os .name");
System. out. println("os的name:" + osName);
String osVersion = System. getProperty("os.version");
System. out . println("os的version:" + osVersion);
String userName = System. getProperty( "user.name");
System. out . println("user的name:" + userName);
String userHome = System. getProperty("user.home");
System. out. println("user的home:" + userHome);
String userDir = System. getProperty("user.dir");
System. out. println("user的dir:" + userDir);
}
public void test2() {
BigInteger bi =new BigInteger("12433241123");
BigDecimal bd =new BigDecimal("12345.351");
BigDecimal bd1 =new BigDecimal("11");
System.out.println(bi);
System.out.println(bd.divide(bd1,BigDecimal.ROUND_HALF_UP));
System.out.println(bd.divide(bd1,25,BigDecimal.ROUND_HALF_UP));
}
}
枚举类
package frequently.enumclass;
public class SeasonTest {
public static void main(String[] args) {
Season season= Season.SPRING;
System.out.print(season);
}
}
class Season{
private final String seasonName;
private final String seasonDesc;
private Season(String name,String desc) {
this.seasonName=name;
this.seasonDesc=desc;
}
public static final Season SPRING=new Season("春天", "春暖花开");
public static final Season SUMMER=new Season("夏天", "夏日炎炎");
public static final Season AUTUMN=new Season("秋天", "秋高气爽");
public static final Season WINTER=new Season("冬天", "冰天雪地");
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public String toString() {
return "Season:"+seasonName+"--"+seasonDesc;
}
}
package frequently.enumclass;
import java.util.Arrays;
public class SeasonTest1 {
public static void main(String[] args) {
Season1 season= Season1.SUMMER;
System.out.println(season);
Season1[] season1s=Season1.values();
System.out.println(Arrays.toString(season1s));
Season1 winter=Season1.valueOf("WINTER");
System.out.println(winter);
winter.show();
}
}
interface Info{
void show();
}
enum Season1 implements Info{
SPRING("春天", "春暖花开"){
@Override
public void show() {
}
},
SUMMER("夏天", "夏日炎炎"){
@Override
public void show() {
}
},
AUTUMN("秋天", "秋高气爽"){
@Override
public void show() {
}
},
WINTER("冬天", "冰天雪地"){
@Override
public void show() {
System.out.print("冬天到了");
}
};
private final String seasonName;
private final String seasonDesc;
private Season1(String name,String desc) {
this.seasonName=name;
this.seasonDesc=desc;
}
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
}