String学习

java.lang.String类学习

概念

在Java编程中广泛使用的字符串是一系列字符。在Java编程语言中,字符串被视为对象。 Java平台提供String类来创建和操作字符串。

JDK在线文档

字符串定义和创建的几种方式:

  • String s1 = “abc”; 直接将一个字符串常量赋值给String类型的变量
  • String s2 = new String(“abc”); 使用new关键字创建String对象
  • char[] s = [‘a’,‘b’,‘c’,‘d’,‘e’];
    String s3 = new String(s); 使用字符数组创建一个字符串
    String s4 = new String(s,1,3); 从索引1开始,提取3个字符创建字符串

注意点

  • String str = null;和String str = “”;是不同的。前者是空对象,没有指向任何地址,会有NPE,后者是一个空白的字符串,是分配了内存空间的。
  • 字符串变量是一个对象
  • 字符串String是一个final类
  • ==和equals的区别
  • stack和heap的概念

常用方法

  1. String s3 = s1.concat(s2);
  2. int size = s.length();
  3. char ch = s.charAt(2);
  4. int index = s.indexOf(“a”);
  5. int lastIndex = s.lastInexOf(“.”);
  6. boolean flag = s.startsWith(“Java”);
  7. boolean flag = s.endsWith(“.jpg”);
  8. char[] chars = s.toCharArray();
  9. boolean flag = s.contains(“abc”);
  10. int c = s1.compareTo(s2);
  11. String subStr = s.substring(3,6);
  12. String newStr = s.replace(“java”,“Java”);
  13. String[] stringArray = s.split(“,”);
  14. String newStr = s.toLowerCase();
  15. String newStr = s.toUpperCase();
  16. String newStr = s.trim();
  17. boolean flag = s.equals(str);
  18. boolean flag = s.matches(“”);

课堂练习

照片文件名的重命名问题

 String origionName = "11.jpg";
 String s1 = origionName.substring(0,origionName.indexOf("."));
 String s2 = origionName.substring(origionName.indexOf("."));
System.out.println(s1);
System.out.println(s2);
String finalName = UUID.randomUUID().toString().concat(s2);
System.out.println(finalName);

在一串字符中分割单词

 String str = "Java is cool";
 String[] strArray = str.split(" ");
 for (String s:strArray) {
     System.out.println(s);
}

如何按文件类型统计或过滤?

 String[] fileNames = {"1.jpg", "2.png", "3.doc", "4.doc", "5.jpg", "6.png", "7.exe", "8.pdf"};
        int imgCount = 0;
        int docCount = 0;
        for (String fileName : fileNames) {
            if (fileName.endsWith(".jpg") || fileName.endsWith(".png")) {
                imgCount++;
            }
            if (fileName.endsWith(".doc") || fileName.endsWith(".pdf")) {
                docCount++;
            }
            if (fileName.endsWith(".exe")) {
                System.out.println("非法文件类型!");
            }
        }
        System.out.println("图片" + imgCount + "张,文档" + docCount + "个");

禁词过滤

String content  = "在青山绿水之间,我想牵着你的手,走过这座桥。桥上是绿叶,桥下是流水,桥的那头是青丝,桥的这头是白发";
String finalStr = content.replaceAll("桥","**");
System.out.println(finalStr);

使用正则表达式验证密码

 String password = "Xu1841Java";
 //6-12位数字和字母组成
 String regex = "[0-9a-zA-Z]{6,12}";
 boolean flag = password.matches(regex);
 System.out.println(flag);
正则语法

你可能感兴趣的:(String学习)