String (API)

来源:互联网 发布:单片机波特率宏定义 编辑:程序博客网 时间:2024/06/05 17:19
/* * 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);}}

0 0