StringBulider常用方法
-
public StringBuilder append(...)
:添加任意类型数据的字符串形式,并返回当前对象自身。 -
public StringBuilder reverse()
:返回反转的字符序列 -
public String toString()
:将当前StringBuilder对象转换为String对象。
例题:
/*将字符串 " we-like-java " 转换为 "EW-EKIL-AVAJ"
也就是去掉前后空格,并将每个单词反转.***/
public class Test2 {
public static void main(String[] args) {
String s = " we-like-java ";
String[] str = s.trim().toUpperCase().split("-");
StringBuilder sb2 = new StringBuilder();
for (int i = 0; i <str.length; i++) {
StringBuilder sb = new StringBuilder(str[i]);
str[i] = sb.reverse().toString();
if(i!=str.length-1){
sb2.append(str[i]).append("-").toString();}
else {
sb2.append(str[i]);
}
}
System.out.println(sb2);
}
}
DateFormat类
-
格式化:按照指定的格式,把Date对象转换为String对象。
-
解析:按照指定的格式,把String对象转换为Date对象。
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类 java.text.SimpleDateFormat
.
构造方法为:
-
public SimpleDateFormat(String pattern)
:用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。 参数pattern是一个字符串,代表日期时间的自定义格式。
转换方法:
-
String format(Date date)传递日期对象,返回格式化后的字符串。
-
Date parse(String str)传递字符串,返回日期对象。
应用:
1.格式化 Date到String
//格式化:从 Date 到 String
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s = sdf.format(d);
System.out.println(s);
2.//从 String 到 Date
//从 String 到 Date
String ss = "2048-08-09 11:11:11";
//ParseException
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf2.parse(ss);
System.out.println(dd);
Calender类
Calendar是抽象类,不能创建对象,需要使用子类对象。java.util.GregorianCalendar
类是Calendar的子类,但是创建日历对象需要根据本地的时区,语言环境来创建,比较困难,Calendar类提供了静态方法 getInstance()直接获取子类的对象。
public static Calendar getInstance()
:使用默认时区和语言环境获得一个日历。
Calendar cal = Calendar.getInstance();
常用方法:
-
public int get(int field)
:返回给定日历字段的值。 -
public void set(int field, int value)
:将给定的日历字段设置为给定值。 -
public abstract void add(int field, int amount)
:根据日历的规则,为给定的日历字段添加或减去指定的时间量。 -
public Date getTime()
:返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
代码演示:
public static void main(String[] args) {
// 创建Calendar对象
Calendar cal = Calendar.getInstance();
// 获取年
int year = cal.get(Calendar.YEAR);
//设置年份为2020年
cal.set(Calendar.YEAR, 2020);
//将年份修改为2000年
cal.add(Calendar.YEAR,-20)
//将日历对象转换为日期对象
Date d = cal.getTime();
System.out.println(d);
}
System类
java.lang.System
类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。System类私有修饰构造方法,不能创建对象,直接类名调用。
常用方法
arrayCopy方法:
-
Object src:要复制的数据源数组
-
int srcPost:数据源数组的开始索引
-
Object dest:复制后的目的数组
-
int destPos:目的数组开始索引
-
int length:要复制的数组元素的个数
public static void main(String[] args){ int[] src = {1,2,3,4,5}; int[] dest = {6,7,8,9,0}; //将源数组中从1索引开始,复制3个元素到目的数组中 System.arraycopy(src,1,dest,0,3); for(int i = 0 ; i < dest.length;i++){ System.out.println(dest[i]); }
String类
转换功能的方法
-
public char[] toCharArray ()
:将此字符串转换为新的字符数组。举例:s1.toCharArray() 把s1变成字符数组 -
public byte[] getBytes ()
:使用平台的默认字符集将该 String编码转换为新的字节数组。 举例:s1.getBytes() 把s1变成字节数组 -
public String replace (CharSequence target, CharSequence replacement)
:将与target匹配的字符串使用replacement字符串替换。 举例:s1.replace("a","A") 把s1中的所有的"a"替换成"A"
字符串替换
String replace(char oldChar, char newChar) 替换字符串中的字符
String replace(String oldString, String newString)
String replaceAll(String regex,String str)
例题:替换敏感字
import java.util.Scanner;
//5.网络程序中,如聊天室,聊天软件等,经常需要对用户提交的内容进行敏感词过滤如"色情","枪","军火"等,
// 这些词都不可以在网上进行传播,需要过滤掉或者用其他词语替换.键盘录入一个字符串 将敏感词替换成 "*" **
public class Test_MinGan {
public static void main(String[] args) {
String[] str ={"色情","枪","军火"} ;
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串");
String s = sc.nextLine();
for (int i = 0; i < str.length; i++) {
s = s.replace(str[i],"*");
}
System.out.println(s);
}
}