Java字符串

JAVA学习网 2017-09-10 06:53:01

java 字符串

本文将介绍java中有关字符串的相关操作

  • 每次我们学习一个类的时候,可以看一下Java api.那里是他的源码实现;
  • 通过看String的api我们可以发现:
    • string类是final的,不可以被继承.public final class String。
    • String类是的本质是字符数组char[], 并且其值不可改变。private final char value[];
    • String类对象有个特殊的创建的方式,就是直接指定比如String x = "abc","abc"就表示一个字符串对象。而x是"abc"对象的地址,也叫做"abc"对象的引用。
    • String对象可以通过“+”串联。串联后会生成新的字符串。也可以通过concat()来串联
  • 常用的创建字符串的方式有:
    • 使用new关键字创建字符串,比如String s1 = new String("abc");
    • 直接创建赋值:比如String s2 = "abc";
    • 使用串联生成新的字符串: 比如String s3 = "ab" + "c";
  • 下边是用代码实现:

    //字符串  string
    String str = "Hello";
    String str1 = "world";
    //返回1号位置是哪个字符
    System.out.println(str.charAt(1));
    
    //字符串是字符数组
    System.out.println(str.compareTo(str1));
    System.out.println(str.compareToIgnoreCase(str1));
    String item = str.concat(str1);   //字符串的拼接
    System.out.println("拼接的结果=" + item);
    
    //是否包含某个值
    System.out.println(str.contains("H"));
    //以什么结尾
    System.out.println(str.endsWith(".jpg"));
    //两个字符串是否相等
    System.out.println(str.equals(str1));

注意:字符串比较的时候不可以用 == ;

因为 == 只是在比较两个变量的地址是否相等;

所以我们要用equal方法来比较两个字符串

equal在比较的时候,会先比较地址是否相等,在比较类型,最后比较内容

  • 字符串的拼接

    String str3 = "Hello";
    String str4 = "World";
    String str5 = str3 + str4;
    String str6 = "Hello" + "World";
    System.out.println(str == str5);    //不相等
    System.out.println(str == str6);    //相等
  • 判断字符串是否为空
    • boolean empty = str == null || "".equals(str);
  • 其他操作 :

    //返回字符串的字符数组
    char[] arr = str.toCharArray();
    
    //转换成全大写
    str = str.toUpperCase();
    //转换成全小写
    str = str.toLowerCase();
    
    //trim()  去掉收尾空格
    String name1 = " sdfasdf ";
    String name2 = "asdf";
    System.out.println(name1.trim().equals(name2));
    
    //valueof(ob)  把基本数据类型转换成string类型
    String age = String.valueOf(1);
    //下边这种也是将基本数据类型转换成string类型的,
    //因为string是大类型,所以直接加起来就可以;直接用string类型来接受;
    String age1 = 1 +"";
    //替换
    //前边是原本的,后边是要更新为的
    String temp =  str.replace("H", "h");
    System.out.println(temp);
    String lyce = "葫芦娃\n葫芦娃\n一个藤上7个瓜";
    
    // split 分割
    String[] names =  lyce.split("\n");
    System.out.println(Arrays.toString(names));
    
    // subString 切割
    String name = "zhangsan";
    // 2.开始的位置  5结束的位置
    System.out.println(name.substring(2, 5));;
阅读(776) 评论(0)