最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识。我复习Java基础知识主要是依据Java API和The Java™ Tutorials。

  今天是第一篇,复习了一下String的主要方法。

  类String在java.lang.*包下面。

  首先定义一个字符串:String str = "I like you,Java.";

  

  一、字符串创建的效率

  字符串创建有两种方式:

    1.String str = "I like you,Java.";

    2.String str = new String("I like you,Java.");

    通过下面的例子,我可以负责任的说第一种方式效率特别高,不管穿件多少次时间都是0.

  以下是例子:

    long startTime = System.currentTimeMillis();
    for( int i=0; i<10000; i++){
      String aaa = "111";
      aaa.compareTo( "111");
    }
    long endTime = System.currentTimeMillis();
    System.out.println( "ss:" + (endTime-startTime));

    long startTime1 = System.currentTimeMillis();
    for( int i=0; i<10000; i++){
      String aaa = new String("111");
    }
    long endTime1 = System.currentTimeMillis();
    System.out.println( "ss1:" + (endTime1-startTime1));

  二、String类的几个方法复习

    1.charAt( int index):这个方法是返回字符串的第index位的字符,下标从0开始。返回类型是char。

      e.g. str.charAt(3); //返回结果为i

    2.codePointAt(int index):返回指定的index处的字符Unicode代码点,下标从0开始。返回类型是int.

      e.g. str.codePointAt(3);//返回结果为105

    3.codePointBefore(int index):返回指定的index处前一位的字符Unicode代码点,下标从0开始。返回类型是int.

      e.g. str.codePointAt(4);//返回结果为105

    4.codePointCount(int beginIndex, int endIndex):返回从beginIndex到endIndex范围内的Unicode代码点数量。返回类型是int.

      e.g. str.codePointCount(3,4);//返回结果为1

    5.compareTo(String otherStr):比较两个字符串,采用字典顺序比较。返回类型为int.

      e.g. str.compareTo("a");//返回结果为-24

    6.compareToIgnoreCase(String str):比较两个字符串,采用字典顺序比较,忽略大小写。返回类型为int.

      e.g. str.compareTo("a");//返回结果为8

    7.concat(String str):将参数字符串加到结尾处。返回类型为String.

      e.g. str.concat("a");//返回结果为I like you,Java.a

    8.contains(CharSequence s):当字符串包含s(字符序列)的时候返回true。返回类型为boolean.

      e.g. str.contains("ai");//返回结果为false

    9.contentEquals(CharSequence s):比较字符串与s是否相等。返回类型为boolean.

      e.g. str.contentEquals("I like you,Java");//返回结果为false

    10.contentEquals(StringBuffer s):比较字符串与s是否相等。返回类型为boolean.

    11.copyValueOf(char[] data):返回一个字符串。返回类型为String.

      e.g. char[] data = {'I',' ','l','i','k','e',' ','y','o','u','.'};

         strTest.copyValueOf(data);//返回结果为I like you.

    12.copyValueOf(char[] data, int offset, int count):返回字符串,从coffset开始count位字符串。返回类型为String.

    13.endsWith(String str):当字符串结尾是str时返回true。返回类型为boolean.

      e.g. str.endsWith(".");//返回结果为true

    14.equals(Object O):比较字符串跟指定的O.返回类型为boolean.

      e.g. str.equals(o.toString());//

    15.lastIndexOf(String str):从字符串尾部开始对比子字符串str

    16.indexOf(String str):从字符串头部开始对比子字符串str

    17.replace(String oldStr,String newStr):替换到原有子字符

    18.replaceFirst(String oldStr,String newStr):替换到原有子字符第一次出现时

    19.replaceAll(String oldStr,String newStr):替换到原有子字符

    20.split(String str):根据str分割原字符串为数组

    21.toUpperCase():字符串变大写

    22.toLowerCase():字符串变小写

    23.emit():与缓冲有关。

原文:http://www.yiibai.com/javaexamples/java_strings.html

Java基础知识系列——String的更多相关文章

  1. Java基础知识系列——文件操作

    对文件进行操作在编程中比较少用,但是我最近有一个任务需要用到对文件操作. 对文件有如下操作形式: 1.创建新的文件(夹) File fileName = new File("C:/myfil ...

  2. Java基础知识系列——日期

    日期类型也是在编程中经常用到的一种数据类型. Java中的日期类型为Date. 另外需要记住三个类: java.text.SimpleDateFormat; java.util.Calendar; j ...

  3. Java基础知识总结--String、StringBuffer、StringBuilder

    1.Java String 类 String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法.在Java中,被final修饰的类是不允许被继承的,并且该类中 ...

  4. Java基础知识系列——Exception

    异常在编程中使用频率非常非常的高,在Java中异常的基类是Exception. 下面就介绍一下Java中的异常: 1.结构 try{ //捕获try里的异常 }catch( Exception e){ ...

  5. Java基础知识系列——目录操作

    Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...

  6. Java基础知识系列——数组

    数组是我们在编程中常用到的一种数据结构. 数组创建有三种方式,以int类型为例: 1.int value[] = new int[]{1,2,3,4,5}; //{}中的是元素 2.int value ...

  7. JAVA基础知识系列---进程、线程安全

    1 相关概念 1.1 临界区 保证在某一时刻只有一个线程能访问数据的简便方法,在任意时刻只允许一个线程对资源进行访问.如果有多个线程试图同时访问临界区,那么在有一个线程进入后,其他所有试图访问临界区的 ...

  8. Java基础扫盲系列(-)—— String中的format

    Java基础扫盲系列(-)-- String中的format 以前大学学习C语言时,有函数printf,能够按照格式打印输出的内容.但是工作后使用Java,也没有遇到过格式打印的需求,今天遇到项目代码 ...

  9. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

随机推荐

  1. 在网页中怎样给已发布的Flash添加链接的方法(zhuan)

    因为网页中的 Flash 是以控件形式出现的,优先级别较高,所以直接对它加链接是无效的,不过可以用按钮控件 BUTTON 来实现. 具体步骤 1.直接在按钮上加上onClick事件打开指定页面: &l ...

  2. vtk保存图像

    vtkWindowToImageFilter * wif = vtkWindowToImageFilter::New(); vtkBMPWriter *bmpw = vtkBMPWriter::New ...

  3. samba服务器搭建小记

    经常要在局域网的linux和windows主机之间共享文件,我遇到了当年samba作者同样的问题,既然人家已经写好了这个软件那就直接拿来用吧. 首先,在linux主机上执行 sudo apt-get ...

  4. LRU implement Data Structure analysis

    三种数据结构实现的LRU对比分析: 自适应循环链表, 跳表 和 伸展树 对比发现 : 跳表比其他两个会好一些(命中率) 来自论文 Performance Analysis of LRU

  5. 7、IMS - DNS & ENUM

    1.相关基础SBC:http://blog.sina.com.cn/s/blog_7a6f76080100vp9r.html 2.ENUM/DNS查询过程:http://blog.sina.com.c ...

  6. android解析图片资源缩小放大问题

    今天突然发现,图片放在drawable 不同分辨率的目录下会有不同程度的放大或者缩小?这是为什么呢? 首先我们从decodeResource()方法入手 public static Bitmap de ...

  7. 转:ServletContext,ActionContext,ServletActionContext

    ServletContext ServletContext从他的package信息可以看出,它是标准的JavaEE WebApplication类库 javax.servlet.ServletCont ...

  8. python 序列化 json pickle

    python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...

  9. ARCGIS进行地理配准并加载到谷歌地球中查看

    普通的地图图片如何能让其附有经纬度坐标和投影信息,如何能将普通的地图图片加载到诸如谷歌地球等相关的三维地球软件当中进行生产或学习使用呢,这就要用到gis当中常用的一种功能,叫做地理配准.地理配准并不复 ...

  10. java二

    一,面向对象 面向对象,似乎是太抽象了点,没人敢拍着胸脯说我面向对象学到了100%,纵然如此,了解面向对象的思想对于学好java等面向对象编程语言有着莫大的好处,因为一通百通,同样是面向对象,等你精通 ...