博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的String类
阅读量:4942 次
发布时间:2019-06-11

本文共 4027 字,大约阅读时间需要 13 分钟。

String类通常指字符串类型,是项目中开发最常用的数据类型

  String a = "abc"   创建一个对象

  String b = new String("abv"),创建两个对象,一个对象值为abv,另一个对象是对 abv的拷贝

       String c = new String("abc")创建一个对象,因为常用词已经有了abc,所以直接对 abc进行拷贝

String类的构造方式

   1.String(byte[ ] bytes):通过byte数组构造字符串对象

     示例:     byte[] b = {'a','b','c','d','e','f','g','h','i','j'};

            String s = new String(b);                 s = abcdefghij

              String sub = new String(b,3,2);       sub = de      从第3位开始,总共两个

   2.String(char[ ] value):通过char数组构造字符串对象

     示例:   char[] c = {'0','1','2','3','4','5','6','7','8','9'};

           String s = new String(c);              s = 0123456789

   3.String(Sting original):构造一个original的副本。即:拷贝一个original。

     示例:   String a = "adv";

           String b = new String(a);

String类是final修饰过的类,不能被继承

String类型转换

   可以调用String类的valueOf方法,将其他数据类型转换成String类

   可以调用parseInt()方法,将String类转换成Int类

String常用方法

   1、length() 字符串的长度

  例:char chars[]={'a','b'.'c'};
    String s=new String(chars);
    int len=s.length();
2、charAt() 截取一个字符
  例:char ch;
    ch="abc".charAt(1); 返回'b'
3、 getChars() 截取多个字符
  void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此, 子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
  例:String s="this is a demo of the getChars method.";
    char buf[]=new char[20];
    s.getChars(10,14,buf,0);
4、getBytes()
  替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。
5、toCharArray()
6、equals()和equalsIgnoreCase() 比较两个字符串
7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
  boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
  boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)
8、startsWith()和endsWith()  startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束
9、equals()和==
  equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
  例:String s1="Hello";
    String s2=new String(s1);
    s1.eauals(s2); //true
    s1==s2;//false
10、compareTo()和compareToIgnoreCase() 比较字符串
11、indexOf()和lastIndexOf()
  indexOf() 查找字符或者子串第一次出现的地方。
  lastIndexOf() 查找字符或者子串是后一次出现的地方。
12、substring()  它有两种形式,第一种是:String substring(int startIndex)
         第二种是:String substring(int startIndex,int endIndex)
13、concat() 连接两个字符串
14 、replace() 替换
  它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
  String replace(char original,char replacement)
  例如:String s="Hello".replace('l','w');
  第二种形式是用一个字符序列替换另一个字符序列,形式如下:
  String replace(CharSequence original,CharSequence replacement)
15、trim() 去掉起始和结尾的空格
16、valueOf() 转换为字符串
17、toLowerCase() 转换为小写
18、toUpperCase() 转换为大写
19、StringBuffer构造函数
  StringBuffer定义了三个构造函数:
  StringBuffer()
  StringBuffer(int size)
  StringBuffer(String str)
  StringBuffer(CharSequence chars)
  
  (1)、length()和capacity()    一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。
  
  (2)、ensureCapacity() 设置缓冲区的大小
    void ensureCapacity(int capacity)
  (3)、setLength() 设置缓冲区的长度
    void setLength(int len)
  (4)、charAt()和setCharAt()
    char charAt(int where)
    void setCharAt(int where,char ch)
  (5)、getChars()
    void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  (6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
    例:int a=42;
      StringBuffer sb=new StringBuffer(40);
      String s=sb.append("a=").append(a).append("!").toString();
  (7)、insert() 插入字符串
    StringBuffer insert(int index,String str)
    StringBuffer insert(int index,char ch)
    StringBuffer insert(int index,Object obj)
    index指定将字符串插入到StringBuffer对象中的位置的下标。
  (8)、reverse() 颠倒StringBuffer对象中的字符
    StringBuffer reverse()
  (9)、delete()和deleteCharAt() 删除字符
    StringBuffer delete(int startIndex,int endIndex)
    StringBuffer deleteCharAt(int loc)
  (10)、replace() 替换
    StringBuffer replace(int startIndex,int endIndex,String str)
  (11)、substring() 截取子串
    String substring(int startIndex)
    String substring(int startIndex,int endIndex)

 

 

 

                                                                                      部分内容截取去网络,侵权请告知

 

转载于:https://www.cnblogs.com/CodeMagicMaster/p/8067550.html

你可能感兴趣的文章
(Mark)JS中关于闭包
查看>>
流程结构图
查看>>
ios端web app在键盘升起后缩小view防止界面仍可上下滑动
查看>>
从service弹出系统级自定义提示框,可在任意页面弹出
查看>>
Bootstrap简单介绍
查看>>
iOS Touch ID 身份认证
查看>>
springboot 注解笔记
查看>>
图解HTTP---------------------------------------4
查看>>
hibernate实体类配置文件问题(字段使用默认值)
查看>>
rsync+inotify脚本
查看>>
LeetCode 860.柠檬水找零(C++)
查看>>
文件上传
查看>>
(Problem 92)Square digit chains
查看>>
HDU 2612 Find a way BFS,防止超时是关键
查看>>
0809
查看>>
FineUIPro v5.2.0已发布(jQuery升级,自定义图标,日期控件)
查看>>
HTML页和ashx之间关系的一点小应用
查看>>
智能合约安全前传-基础知识入门
查看>>
Myeclipse反编译插件
查看>>
Dubbo和Zookerper的关系
查看>>