zoukankan      html  css  js  c++  java
  • String类

    1.String 是引用数据类型

    2.一个字符串是常量,在堆中的常量池中,只能改变字符串变量的引用地址

    3.字符串本质是一个字符数组

    4.String类重写了equals方法比的是内容

    1                 String s1 = "abc";// 一个对象 在常量池中
    2         String s2 = new String("abc");// 两个对象 "abc"在常量池中 s2在堆中
    3         String s3 = "abc";
    4         System.out.println(s1 == s2);// fales
    5         System.out.println(s1 == s3);// true            

    总结:一对双引号就是一个String对象

    String类的构造方法

     1 // 1. 传一个字节数组
     2         byte[] bytes = { 65, 66, 67, 68 };
     3         String str1 = new String(bytes); // 正数走ASCII码表,被解析成字符串 负数为汉字, 一个汉字两个字节
     4         System.out.println(str1);
     5         String str2 = new String(bytes, 1, 2); // 选择转几个 从索引1处 解析2个包括索引1
     6         System.out.println(str2);// BC
     7 
     8         // 传一个字符数组
     9 
    10         char[] chars = { 'a', '5', 'e', '' };
    11         String str3 = new String(chars, 0, 1);
    12         System.out.println(str3);// a

    String类的常用方法

     1 String sss = "i love java";
     2         System.out.println(sss.length());// 字符串长度 11 空格也算一个字符
     3         System.out.println(sss.substring(3)); // 从索引3开始包括3 ove java
     4         System.out.println(sss.substring(0, 2));// i 从索引0开始包括0 往后截取两个
     5         System.out.println(sss.startsWith("i"));// 判断是否以i开头 true
     6         System.out.println(sss.endsWith("java"));// 判断是否以java结尾 true
     7         System.out.println(sss.contains("j"));// 判断是否包含某个字符串 true
     8         System.out.println(sss.indexOf("a")); // 返回子字符串第一次出现的索引 8 没有就返回-1
     9 
    10         // 字节数组转字符串 字符数组转字符串 通过String类的构造方法
    11         // 字符串=》字节数组
    12         String ss2 = "ABCD";
    13         byte[] b = ss2.getBytes();
    14         for (byte bb : b) {
    15             System.out.println(bb);// 65 66 67 68
    16         }
    17         // 字符串=》字符数组
    18         for (char bb : ss2.toCharArray()) {
    19             System.out.println(bb);// A B C D
    20         }
    21 
    22         // 忽略大小写的比较
    23         String a = "ABC";
    24         String c = "abc";
    25         System.out.println(a.equalsIgnoreCase(c)); // true
    26         System.out.println(a.charAt(0)); // A
    27 
    28         char d = 'D';
    29         char e = 'E';
    30         System.out.println(d < e);// true 比较的是ASCII值
    31         System.out.println("D".toLowerCase());// d
    32         System.out.println("d".toUpperCase());// D
    33      //字符串的替换
    34         String str5 = "ABCD";
    35         System.out.println(str5.replace("A", "哈哈"));// 哈哈 BCD
  • 相关阅读:
    bloom(转)
    关于模态对话框某些情况下在opengl下需要按alt才能显示的问题
    程序员的特征
    ffmpeg cross compile
    Tone mapping
    osgXI
    dx11 about post process...
    asp.net网站异常处理方式
    把datatable导出到指定的excel中
    Visual Studio 2008功能提升
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10530591.html
Copyright © 2011-2022 走看看