美文网首页
Java核心类-字符串和编码

Java核心类-字符串和编码

作者: chrisghb | 来源:发表于2019-12-24 19:11 被阅读0次
  • String
    Java中,String是一个引用类型,它本身也是一个class
    因为String太常用了,所以Java提供了" "这种字符串字面量表示方法。
    字符串在String内部是通过一个char[]数组表示的。
String s2 = new String(new char[] {'H', 'e', 'l', 'l', 'o', '!'});

Java字符串的一个重要特点就是字符串不可变。这种不可变性是通过内部的private final char[]字段。
字符串操作不改变原字符串内容,而是返回新字符串;

  • 字符串比较
    比较字符串的内容是否相同。必须使用equals()方法,而不能用==。要忽略大小写比较,使用equalsIgnoreCase()方法。
    1.原始数据类型, 他们之间的比较,应用双等号==,比较的是他们的值。
    2.引用类型,当他们用==进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false
  • 搜索子串
"Hello".contains("ll"); // true
"Hello".indexOf("l"); // 2
"Hello".lastIndexOf("l"); // 3
"Hello".startsWith("He"); // true
"Hello".endsWith("lo"); // true
  • 提取子串
"Hello".substring(2); // "llo"
"Hello".substring(0, 2); // "He"
"Hello".substring(2, 4); "ll"
注意索引号是从0开始的。
  • 类型转换
把任意基本类型或引用类型转换为字符串
String.valueOf(123); // "123"
String.valueOf(45.67); // "45.67"
String.valueOf(true); // "true"
String.valueOf(new Object()); // 类似java.lang.Object@636be97c
把字符串转换为其他类型
int n1 = Integer.parseInt("123"); // 123
int n2 = Integer.parseInt("ff", 16); // 按十六进制转换,255
把字符串转换为boolean类型
boolean b1 = Boolean.parseBoolean("true"); // true
boolean b2 = Boolean.parseBoolean("FALSE"); // false
  • 转换为char[]
    Stringchar[]类型可以互相转换,方法是:
char[] cs = "Hello".toCharArray(); // String -> char[]
String s = new String(cs); // char[] -> String
  • 字符编码
    1.早期的计算机系统中,使用美国国家标准学会制定了表示英文字母、数字和常用符号的ASCII编码,占用一个字节。
    2.后来汉字也纳入计算机编码,GB2312标准使用两个字节表示一个汉字,其中第一个字节的最高位始终为1,以便和ASCII编码区分开。
    3.为了统一全球所有语言的编码,全球统一码联盟发布了Unicode编码。
    4.我们经常使用的UTF-8又是什么编码呢?因为英文字符的Unicode编码高字节总是00,包含大量英文的文本会浪费空间,所以,出现了UTF-8编码,它是一种变长编码,用来把固定长度的Unicode编码变成1~4字节的变长编码。
    5.请始终牢记:JavaStringchar在内存中总是以Unicode编码表示。
把字符串转换成其他编码
byte[] b1 = "Hello".getBytes(); // 按ISO8859-1编码转换,不推荐
byte[] b2 = "Hello".getBytes("UTF-8"); // 按UTF-8编码转换
byte[] b2 = "Hello".getBytes("GBK"); // 按GBK编码转换
byte[] b3 = "Hello".getBytes(StandardCharsets.UTF_8); // 按UTF-8编码转换
把已知编码的byte[]转换为String
byte[] b = ...
String s1 = new String(b, "GBK"); // 按GBK转换
String s2 = new String(b, StandardCharsets.UTF_8); // 按UTF-8转换

相关文章

  • Java核心类-字符串和编码

    String在Java中,String是一个引用类型,它本身也是一个class。因为String太常用了,所以Ja...

  • Java基础类库

    包 1、java.lang包:java类库中的核心部分,包含System系统类、数学运算的Math类、处理字符串的...

  • Base64编码

    在Java 8中,Base64编码已经成为Java类库的标准。 Java 8 内置了 Base64 编码的编码器和...

  • Java中文乱码详解

    1 Java编码转换 1.1 String转换图 图中详细描述了 字符串类String 与 文件File ,Byt...

  • java核心类库(上)

    java核心类库 toString() 打印输出或者字符串拼接 ” “+ 引用 自动 调用 -128~127 自动...

  • Java基础 String的增删改查

    Java String 类为java的字符串;在 Java 中字符串属于对象,Java 提供了 String 类来...

  • 字符串的操作

    一.Java字符串类基本概念 在JAVA语言中,字符串数据实际上由String类所实现的。Java字符串类分为两类...

  • Java面向对象概述和三大特性

    Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。围绕着 Java 类和 Java 对象,...

  • 学习Java编程面向对象的五大基本原则

    Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。围绕着 Java 类和 Java 对象,...

  • 3-Java常用工具类-字符串

    字符串处理类。 常用的: String类和StringBuilder类 Java中字符串是被作为一个String...

网友评论

      本文标题:Java核心类-字符串和编码

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