/*
* String类包的有关总结:
* 在api中就可以看到有关String类的全部方法介绍,在这里主要介绍“日期和时间的格式化”,“String的正则表达式”和“字符串格式化”
* 1,String中的主要类(可以参考有关API的内容)
* 这些类主要实现:(1)构造字符串 ;(2)获取字符串的一部分(也就是切割);(3)返回指定的索引位置的字符或者是字符串;查找字符或者是字符串的索引号
* 注意没有找到这个字符的话返回-1;(4)大小写字符之间的转换,使用toLowerCase(),toUpperCase()这二个方法;(5)字符串的替换
* 使用方法:replace(char oldChar, char newChar)就是后面的那个字符(串)替换前面那个字符(串)。注意假如old字符串不存在的话
* 就不进行替换了。如果出现多次的话全部替换成新的字符串就是了;(5)API还有很多描述String的方法,就不一一列举了;
* 2,下面总结有关时间的格式化:
* 要是想获得计算机的当前时间的话;首先使用java.util里面的Date类来实现;Date date=new Date();现在这个date对象的
* 引用就记录了计算机的当前时间了(包括了几乎你想要的全部时间);然后使用“静态方法format()”进行你要的格式化就可以了
* 在JDK中提供了格式化的转换符;可以实现各种格式的输出(功能很好用的);
* 例子1:
* import java.util.Date;
* Date date=new Date();
* String str=String.format("%tc",date);
* System.out.println(str);
* 就会在控制台上输出:星期五 十月 09 09:46:44 CST 2015
* 这里使用的“%tc”是输出全部时间信息的转换符;在JDK中有很多转换符可实现不同的时间输出;
* 比如:“%tF”就是输出“2008-03-25”的格式;再如:“%tD”就是03/25/2008这种格式;等等还有很多就不介绍了;
* 3,String的正则表达式(super important)
* 使用这个的目的是判断字符串是否满足一定的格式的;
* 比如银行的密码设置是0-9的数字组成,那么其中就不能出现其他的字符形式;在加上密码为6位数的。那么判断语句如下:
* if(str.length()==6&&str.matches("\\d"));
* str.matches("\\d");这个就是正则表达式了;其中特别注意“\\d”是 “元字符” \d在表达式中的写法;
* 注意元字符也有很多;用来判断各种各样的str格式;比如:\D 表示str是非数字字符串 ;\P{Lower}表示小写字母a-z;
* 举一例子:
* E-mail的格式是String Str_email="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
* 假如你自己写了一个E_mail(str)的话可以使用
* if(str.matches(str_email));就是这样子,假如设置错误的话就提示或者throw异常(E-mail没有设置成功);
* 注意:matches是非静态的方法,知道有哪些元字符是super important的;
* 4,有关字符串生成器的介绍:
* 字符串生成器类是:StringBuilder;其实他也是字符串;不过和String有点不一样;对比String有一些很好的改进;下面就来介绍这个类;
* (1)先看2个例子吧
* 1
*
* StringBuilder builder=new StringBuilder();//改造一个对象
* long startTime=System.currentTimeMillis();//记录计算机的当前时间;要记住这种测量时间的方法,以后一定是有用的;
* for(int i=1;i<=100;i++)
* {
* builder.append(i);//通过append方叠加builder字符串;时间为2;
* }
* long endTime=System.currentTimeMillis();
* System.out.println(endTime-startTime);
* \\假如要输出bulider的内容要应用toString()函数的:System.out.println(builder.toString());
* 2
* String str=new String();
* long startTime=System.currentTimeMillis();//
* for(int i=1;i<=100;i++)
* str=str+i;//使用一般的字符串,时间662;
* long endTime=System.currentTimeMillis();
System.out.println(endTime-startTime);
* 就这二个例子中的时间使用System.currentTimeMillis()方法算出来的;从这二个例子可以看出在进行多次的String叠加是使用
* 字符串生成器的效率是高很多的;
* (2)使用字符串生成器的其他主要原因:
* StringBuilder类中还提供了String原来没有的功能;
* append();insert(int offset,String arg),delete(int start,int end)
* 等等一些String没有方法来处理字符串;想要了解更多的话查询java.lang.StringBuilder的API说明就好了。
* 下面是API的一个截图:
*
*
*
*
*
*
* */
package String1;
import java.util.Date;
public class StringDemo1 {
public static void main(String[] args) {
Date date=new Date();
String str=String.format("%tc",date);
System.out.println(str);
}
}
String (API)
最新推荐文章于 2024-02-06 18:30:47 发布