String类

  String是引用数据类型;字符串是String类的对象

String类的构造方法

  共有13种重载方式,这里只示例常用的几个

  String():创建一个空字符串

  String(String original):新建一个字符串作为指定字符串的副本

  String(char[] value):根据字符数组构造一个新字符串

  String(byte[] tytes):通过转换指定的字节数组新建一个字符串

String类的方法

  只示例常用的几种,详情请见API

  字符串长度

    length():该方法返回字符串中有效字符的个数,返回值是int型

  字符串比较

    ==运算符:比较两个引用是否指向同一个对象,返回值是boolean型

    equals()方法:比较两个字符串中的内容是否相同,返回值是boolean型

    startsWith(String prefix):判断此字符串是否以指定的前缀prefix开头,返回值是boolean型

    endsWith(String suffix):判断当前字符串是否以字符串suffix为后缀,返回值是boolean型

    equalsIgnoreCase(String anotherString):将此String与另一个anotherString比较,不考虑大小写,返回值是boolean型

    compareTo(String anotherString):根据ASCII码比较字符串anoterString和当前字符串的大小,返回值是int型

  字符串搜索

    搜索char字符类型

    indexOf(int ch):查找字符ch在当前字符串中第一次出现处的索引,没有出现返回-1,返回值是int型

    lastIndexOf(int ch):查找字符ch在当前字符串中最后一次出现的索引,没有出现返回-1,返回值是int型

    indexOf(int ch , int fromIndex):查找字符ch在当前字符串中第一次出现处的索引,从指定的索引开始搜索,返回值是int型

    搜索String字符串类型

    indexOf(String str):查找字符串str在当前字符串中第一次出现的索引,没有出现返回-1,返回值是int型

    lastIndexOf(String str):查找字符串str在当前字符串中最后一次出现的索引,没有出现返回-1,返回值是int型

    indexOf(String str , int fromIndex):查找字符串str在当前字符串中第一次出现处的索引,从指定的索引开始搜索,返回值是int型  

  字符串提取

    charAt(int index):提取指定索引index位置的char值,返回值是char型

    substring(int index):提取从指定索引index位置开始的字符串部分,获得一个新的字符串(当前字符串的子串),返回值是String型

    substring(int begin, int end):提取从指定索引index到end位置结束的字符串部分,获得一个新的字符串(当前字符串的子串),返回值是String型

    concat(String str):用于连接两个字符串,将指定字符串连接到此字符串的结尾,返回值是String型

    replace(char oldChar, char newChar):将字符串中出现的oldChar字符替换成newChar字符,返回值是String型

    replaceAll(String regex, String replacement):将字符串中出现的regex字符串替换成replacement字符串,返回值是String型

    String trim():返回字符串的副本,忽略前导空白和尾部空白,返回值是String型

  更改字符串的大小写

    toUpperCase():返回当前字符串的全大写形式,返回值是String型

    toLowerCase():返回当前字符串的全小写形式,返回值是String型

  字符串的数据格式转换

    getBytes():将当前字符串转化成byte型的字节数组(即字符串在内存中保存的最原始的二进制形态),返回值是一个byte[]数组

    toCharArray():将当前字符串转换为char型的字符数组,返回值是char[]数组

  字符串的数据类型转换

    Object类型转String类型

      示例:Object o = "123";  String s = (String) o;  强制转换

         Object o = 123;  String s = String.valueOf(o);  使用String.valueOf方法      

    String类型转int类型

       示例:String s = "123";  int i = Integer.parseInt(s);  使用包装器类Integer.parseInt()方法 

代码示例

  1. package summary2;
  2.  
  3. //String类
  4. class Test
  5. {
  6. void test1 ()
  7. {
  8. String s1; //声明一个String类型属性
  9. String s2="张三",s3="18岁"; //同时声明多个属性并赋初值
  10. s1 = "学习Java中的String类"; //声明后赋值
  11. String s = s2.concat(s3); //用contcat方法连接两个字符串
  12. System.out.println(s+s1); //打印两个字符串输出三个字段
  13. }
  14. void test2 ()
  15. {
  16. String bi1 = new String("String"); //创建一个String对象并赋值
  17. String bi2 = new String("String"); //创建一个String对象并赋值
  18. boolean b1 = bi1==bi2; //比较的是虚地址,返回false
  19. boolean b2 = bi1.equals(bi2); //比较的是对象内容,返回true
  20. System.out.println("用==比较的是"+bi1+"和"+bi2+"的虚地址:结果返回"+b1);
  21. System.out.println("用equals比较的是"+bi1+"和"+bi2+"内容:结果返回"+b2);
  22. }
  23. void test3 ()
  24. {
  25. char[] ch = {'t','i','m','e'}; //声明一个字符数组并赋值
  26. byte[] by = {-60,-6,-70,-61}; //声明一个字节数组、存放的是字符编码
  27. String str1 = new String(); //创建一个空的字符串
  28. String str2 = new String(ch); //根据指定字符数组构造一个新字符串
  29. String str3 = new String(by); //转换指定的字节数组新建一个字符串
  30. String str4 = new String(str2); //利用指定String对象创建新的副本
  31. System.out.println(str1+str2+str3+str4);
  32. }
  33. void test4 ()
  34. {
  35. String s = "2017年Jack刚满17岁"; //注意字符串的下标是从0开始、索引最大值=长度-1
  36. System.out.println(s.length()); //获取字符串长度:14
  37. System.out.println(s.charAt(13)); //取得最后一个索引位置13的值:岁
  38. System.out.println(s.substring(0,5)); //截取下标0-4的值:2017年
  39. System.out.println(s.substring(5)); //截取下标8以后的值:Jack刚满18岁
  40. System.out.println(s.replace('7','8')); //替换字符串中的指定字节、输出新的副本
  41. System.out.println(s.replaceAll("Jack","张三")); //替换字符串中的指定字符
  42. }
  43. void test5 ()
  44. {
  45. String s = "English";
  46. byte[] b = s.getBytes(); //将当前字符串转化成byte型的字节数组
  47. char[] c = s.toCharArray(); //将当前字符串转换为char型的字符数组
  48. System.out.println(b);
  49. System.out.println(c);
  50. }
  51. void test6 ()
  52. {
  53. Object o = 931; //创建一个Object类,存放int型数据
  54. String s = String.valueOf(o); //Object转换成String型,使用valueOf方法
  55. int i = Integer.parseInt(s); //String转int型,使用包装器类的方法
  56. System.out.println(i);
  57. }
  58. }
  59. public class StringClass
  60. {
  61. public static void main(String[] args)
  62. {
  63. Test T = new Test();
  64. T.test1(); //String的声明和赋值
  65. T.test2(); //String的比较
  66. T.test3(); //String的构造方法
  67. T.test4(); //String的长度、字符获取
  68. T.test5(); //String的数据格式转换
  69. T.test6(); //String的数据类型转换
  70. }
  71. }

Java的String类的更多相关文章

  1. Java中String类的方法及说明

    String : 字符串类型 一.      String sc_sub = new String(c,3,2);    //      String sb_copy = new String(sb) ...

  2. java.lang.String 类的所有方法

    java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...

  3. java中String类学习

    java中String类的相关操作如下: (1)初始化:例如,String s = “abc”; (2)length:返回字符串的长度. (3)charAT:字符操作,按照索引值获得字符串中的指定字符 ...

  4. 深入分析Java的String类的方法与特点

    字符串是任何编程语言都必须支持的变量类型,有些编程语言是直接提供了原生的变量类型,有些编程语言则使用语法特性以 SDK 的形式提供支持.在Java编程平台中,对字符串的支持使用了后者的形式,就是通过在 ...

  5. java 中String类的常用方法总结,带你玩转String类。

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  6. 在java中String类为什么要设计成final

    在java中String类为什么要设计成final? - 胖胖的回答 - 知乎 https://www.zhihu.com/question/31345592/answer/114126087

  7. java中String类为什么不可变?

    在面试中经常遇到这样的问题:1.什么是不可变对象.不可变对象有什么好处.在什么情景下使用它,或者更具体一点,java的String类为什么要设置成不可变类型? 1.不可变对象,顾名思义就是创建后的对象 ...

  8. JAVA的String类的常用方法(转载)

    Java-String类的常用方法总结   一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的f ...

  9. 【转载】Java中String类的方法及说明

    转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.      String sc_ ...

  10. 在java中String类为什么要设计成final?

    大神链接:在java中String类为什么要设计成final? - 程序员 - 知乎 我进行了重新排版,并且更换了其中的一个例子,让我们更好理解. String很多实用的特性,比如说“不可变性”,是工 ...

随机推荐

  1. Linux ulimit

    一.简介   二.语法   三.其他 1)linux下进程的进程最大数.最大线程数.进程打开的文件数和ulimit命令修改硬件资源限制 http://blog.csdn.net/gatieme/art ...

  2. [转]安装 Silverlight 5/silverlight4 出错的解决方法

    安装Silverlight 5时,如果 如图: 安装Silverlight 5时,如果你的VS不是英文版,那么可能会出现以下错误: Visual Studio 2010 SP1 that matche ...

  3. PAT 1033 旧键盘打字(20)(20 分)

    1033 旧键盘打字(20)(20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2 ...

  4. Oracle Linux下数据库操作的相关问题

    1.su - oracle 切换到oracle用户 lsnrctl status 查看数据库监听状态 lsnrctl start 打开数据库监听 2.Connected to an idle inst ...

  5. 常用到的photoshop实用设计功能都在这了!

    常用到的photoshop实用设计功能都在这了!赶快收藏学起来,需转不谢~ ​ 编辑:千锋UI设计

  6. java 检查异常 和 非检查异常

    个人见解 ,如果有问题 ,还希望大神们 指正 1. 非检查异常 又称运行时 异常 ,所有 继承自 RuntimeException 的异常都是 非检查异常  ,, 如果你不处理  会有 虚拟机 mai ...

  7. Echarts饼图显示模板

    图表类型,必要参数!如为空或不支持类型,则该系列数据不被显示.可选为: 'line'(折线图) | 'bar'(柱状图) | 'scatter'(散点图) | 'k'(K线图) 'pie'(饼图) | ...

  8. mysql 配置MHA

    在配置好GTID复制后,配置MHA的高可用. 1.准备3台机器 192.168.31.100 主库 192.168.31.101 从库 192.168.31.104 从库 MHA控制节点 2.设置SS ...

  9. C语言程序设计50例(三)(经典收藏)

    [程序31]题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母.1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. ...

  10. 剑指offer42:不用加减乘除做加法

    分析: (1)十进制加法分三步:(以5+17=22为例) 1. 只做各位相加不进位,此时相加结果为12(个位数5和7相加不进位是2,十位数0和1相加结果是1): 2. 做进位,5+7中有进位,进位的值 ...