Java_字符串

作者: 书虫大王X | 来源:发表于2019-08-13 21:16 被阅读0次

1.知识点:

  • 不可变字符串
  • 可变字符串

2.知识点运用:

1.不可变字符串:
  • 1.字符串
    * 1. 不可变的字符串 一旦创建 内容不能改变
    * 2. == 比较两个对象地址是否相同
    * equals 比较两个对象的内容是否相同
        String a = "a";
        String b = "a";
        System.out.println(a == b);
        System.out.println(a.equals(b));
        //都打印true
  • 2 字符串的创建:
        //空字符串,没意义
        String str3 = new String();
        String url = "http://www.baidu.com";

        //使用字节数组 创建一个字符串
        byte[] name = {'A','b','c'};
        String str4 = new String(name);
        System.out.println(str4);
     //打印结果:Abc
        byte[] name2 = {97,98,99};
        String str5 = new String(name2);
        System.out.println(str5);
     //打印结果:abc
        //使用字节数组的一部分 创建一个字符串
        String str6 = new String(name,0,2);
        System.out.println(str6);
     //打印结果:Ab
       //一个汉字占两个字节,所用char类型接收
        char[] hello = {'你','好','啊'};
        String h = new String(hello);
        System.out.println(h);
     //打印结果:你好啊
  • 3 字符串的常用方法:
    1.charAt:获取字符串中的一个字符
       char[] hello = {'你','好','啊'};
        String h = new String(hello);
       char c = h.charAt(0);
        System.out.println(c);
     //打印结果:你

2.compareTo:两个字符串的比较,返回结果:0:表示相同 ; >0:大于 ; <0:小于

        byte[] name = {'A','b','c'};
        String str4 = new String(name);
        byte[] name2 = {97,98,99};
        String str5 = new String(name2);
        //忽略了字母的大小写
        int result = str4.compareToIgnoreCase(str5);
        System.out.println(result);
       //打印结果:0

3.concat:两个字符串的连接

        byte[] name2 = {97,98,99};
        String str5 = new String(name2);
        char[] hello = {'你','好','啊'};
        String h = new String(hello);
        String nStr = str5.concat(h);
        System.out.println(nStr);
       //打印结果:abc你好啊

4.contains:判断一个字符串是否包含另外一个字符串

        boolean r = "hello".contains("llo");
        System.out.println(r);
       //打印结果:true

5.判断是否包含某个字符串

        String url = "http://www.baidu.com";
        if (url.endsWith(".com")){
            System.out.println("包含");
        }

        if (url.startsWith("http")){
            System.out.println("包含");
        }

        if (url.startsWith("www",7)){
            System.out.println("包含");
        }
     //打印结果:包含
                         包含 
                         包含

6.equals:两个字符串进行比较

if ("abc".equals("ABC")){
            System.out.println("相同");
        }else{
            System.out.println("不相同");
        }
     //打印结果:不相同

7.indexOf:判断一个子字符串在另外一个字符串里面的起始位置(不存在返回值为)

        String i1 = "hello Java";
        int index = i1.indexOf("Java");
        System.out.println(index);
     //打印结果:6

8.length:获取字符串的长度

        String i1 = "hello Java";
        int a = i1.length();
        System.out.println(a);

9.substring:获取子字符串(从index到结尾)

        String i1 = "hello Java";
        String sStr = i1.substring(6);
        System.out.println(sStr);

        String sStr2 = i1.substring(6,9);
        System.out.println(sStr2);
     //打印结果:Java
                         Jav
2.可变字符串:
  • StringBuffer 线程安全的 效率不高
  • StringBuilder 反之,但是我们多用StringBuilder
  • 方法:
    1.append :在末尾追加
        //创建的同时准备6个字符的空间
        StringBuilder sb = new StringBuilder(6);
        sb.append("I ");
        sb.append("love ");
        sb.append("Android ");
        System.out.println(sb);
        //打印结果:I love Android 

2.insert: 插入数据

        StringBuilder sb = new StringBuilder(0);
        sb.append("I love Android");
        sb.insert(1," also");
        System.out.println(sb);
        //打印结果:I also love Android 

3.delete:删除数据

        StringBuilder sb = new StringBuilder(0);
        sb.append("I love Android");
        sb.delete(2,6);
        System.out.println(sb);
        //打印结果:I Android 

4.repla :替换

        StringBuilder sb = new StringBuilder(0);
        sb.append("I love Android");
        int start = sb.indexOf("Android");
        int end = start + "Android".length();
        sb.replace(start,end,"you");
        System.out.println(sb);
        //打印结果:I love you  

相关文章

  • Java_字符串

    1.知识点: 不可变字符串 可变字符串 2.知识点运用: 1.不可变字符串: 1.字符串* 1. 不可变的字符串 ...

  • Java书籍资料整理

    http://en.wikipedia.org/wiki/Template:Java_%28software_pl...

  • java语法:java_解析字符串

    请求:分:各种信息key=value合:拼成1个字符串分:拆分成各种信息合:类(hashmap、list、自定义类...

  • 雪花算法

    雪花算法的原理和实现Java_雨夜青草的博客-CSDN博客_雪花算法 64 = 1 41 10 12

  • alibaba-nacos-config 阿里的nacos

    参见:SpringBoot使用Nacos作为配置中心服务和服务注册中心_java_牧竹子-CSDN博客 手册参见:...

  • java_多线程

    java_多线程 线程创建方式;join用法; sleep和wait区别; 线程安全和不安全的java集合; St...

  • Java 调用jni方法

    两种实现方式 Java_包名类名方法名 RegisterNatives方法 native 方法如下 第一种方式:在...

  • java_集合

    参考https://www.cnblogs.com/NextNight/p/6972172.html 关系图 Ha...

  • JAVA_代理

    代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。通过代理,可以实现对目标对象的间...

  • java_容器

    能根据情况选择适合的容器 知道每一种容器的:新建、存数据、改数据、取单个数据、取全部数据 存单个值的容器3种,存键...

网友评论

    本文标题:Java_字符串

    本文链接:https://www.haomeiwen.com/subject/vhcijctx.html