关于Java的字符串
“String是什么?”首先,string的本质是char数组,例如
String a = "hello";
String a = "hello";
其实以下代码是一样的
char[] b = {'h','e','l','l','o'};
将字符串与其他类型转换这里以int作为例子,语法如下。
//int toString: string.valueof(int)
String abc = String.valueOf(200);
//String to int: integer.parseint(string)
int bcd = Integer.parseInt("200");
日期字符串工具这个和Scanner一样,引用了Java.util.Date的内容。
java.util.Date now = new java.util.Date();
//フォマード制定したいなら:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日hh点mm分ss秒");
String date = sdf.format(now);
System.out.println(date);
//int toString: string.valueof(int)
String abc = String.valueOf(200);
//String to int: integer.parseint(string)
int bcd = Integer.parseInt("200");
java.util.Date now = new java.util.Date();
//フォマード制定したいなら:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日hh点mm分ss秒");
String date = sdf.format(now);
System.out.println(date);
如果想将字符串转换为日期:
String date1 ="2022年1月1日13时10分50秒";
SimpleDateFormat qwe = new SimpleDateFormat("yyyy年mm月dd日hh点mm分ss秒");
java.util.Date datea = qwe.parse(date1); //can get the type of date form string
System.out.println(datea);
字符串n的比较
String a ="abc";
String b ="bcd";
a.equals(b); //aとbのコンテンツは同じならtrue 違うならfalse
a.equalsIgnoreCase(b);//アルファベットの大文字と小文字を無視する
a.compareTo(b);// aとb比較する
a.isEmpty();//stringはスペースですか スペースならtrue 違うならfalse
a.contains(b);//aにbがあるかどうか あるならtrue 違うならfalse
a.startsWith(a);//string aで始まるかどうか 同じならtrue 違うならfalse
a.endsWith(b);//a はbで始まるかどうか 同じならtrue 違うならfalse
其他的工具string
//スペースを削除
String aad = new String("i love u");
System.out.println(aad.trim());
//大文字になる
aad.toUpperCase();
//小文字になる
aad.toLowerCase();
//starindex endindexコンテンツの取り切り
aad.substring(1,2);
//コンテンツの変化
aad.replace("i", "I");
//split() コンテンツの分割 例えば:
String asf ="i love you";
String[] splited = asf.split("");//get ["i","love","you"]
最后关于StringBuffer的问题
string是一个不可变的量,所以它的内容不会改变,它会生成一个新的值。
例如:
String a = "i love u"
String b = a.trim();//そこaの値は変化しません 新たな値を生成でした。
String a ="abc";
String b ="bcd";
a.equals(b); //aとbのコンテンツは同じならtrue 違うならfalse
a.equalsIgnoreCase(b);//アルファベットの大文字と小文字を無視する
a.compareTo(b);// aとb比較する
a.isEmpty();//stringはスペースですか スペースならtrue 違うならfalse
a.contains(b);//aにbがあるかどうか あるならtrue 違うならfalse
a.startsWith(a);//string aで始まるかどうか 同じならtrue 違うならfalse
a.endsWith(b);//a はbで始まるかどうか 同じならtrue 違うならfalse
//スペースを削除
String aad = new String("i love u");
System.out.println(aad.trim());
//大文字になる
aad.toUpperCase();
//小文字になる
aad.toLowerCase();
//starindex endindexコンテンツの取り切り
aad.substring(1,2);
//コンテンツの変化
aad.replace("i", "I");
//split() コンテンツの分割 例えば:
String asf ="i love you";
String[] splited = asf.split("");//get ["i","love","you"]
最后关于StringBuffer的问题
string是一个不可变的量,所以它的内容不会改变,它会生成一个新的值。
例如:
String a = "i love u"
String b = a.trim();//そこaの値は変化しません 新たな値を生成でした。
String a = "i love u"
String b = a.trim();//そこaの値は変化しません 新たな値を生成でした。
当生成大量数据时,就会出现卡顿和性能下降的问题,所以要使用StringBuffer。
//時間を記録:
long begin = System.currentTimeMillis();//1970年1月1日から現在まで
long end =System.currentTimeMillis();
long spendtime = end - begin;
关于StringBuffer的工具:
添加内容
删除内容
替换内容
反转内容
转换为String类型
StringBuffer sb=new StringBuffer();
sb.append("hello").append("world").append("java");
System.out.println(sb);
sb.delete(0, 5);
System.out.println(sb);
sb.replace( 0, 5, "lalala");
System.out.println(sb);
sb.reverse();
System.out.println(sb);
sb.toString();