• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Day07:Java核心类

开发技术 开发技术 4小时前 2次浏览

Java核心类

字符串和编码

String 字符串

实际上字符串在String内部是一个char[]数组。字符串是不可变的。

字符串的比较: 必须使用equals()方法。要忽略大小写比较,使用

equalsIgnorecase()。

String的不变性设计可以看出,如果传入的对象有可能改变,我们需要复制而不是直接引用。

字符串的操作不改变原字符串内容、而是返回新字符串

注意以下两段代码的区别:

 public class Main {
     public static void main(String[] args) {
         int[] scores = new int[] { 88, 77, 51, 66 };
         Score s = new Score(scores);
         s.printScores();
         scores[2] = 99;
         s.printScores();
    }
 }
 
 class Score {
     private int[] scores;
     public Score(int[] scores) {
         this.scores = scores;
    }
 
     public void printScores() {
         System.out.println(Arrays.toString(scores));
    }
 }
 --------------------------------------------
  public class Main {
     public static void main(String[] args) {
         int[] scores = new int[] { 88, 77, 51, 66 };
         Score s = new Score(scores);
         s.printScores();
         scores[2] = 99;
         s.printScores();
    }
 }
 
 class Score {
     private int[] scores;
     public Score(int[] scores) {
      int[] newscores=new int[scores.length];
         for(int i=0;i<scores.length;i++)
             newscores[i]=scores[i];
         this.scores=newscores;
    }
 
     public void printScores() {
         System.out.println(Arrays.toString(scores));
    }
 }
 

 

字符编码

  • ASCII 英文

  • GB2312 中文

  • Unicode 全球统一

  • UTF-8 把固定长度的Unicode变成1~4字节的UTF-8编码。

StringBuilder

Java标准库提供了StringBuilder,它是一个可变对象,可以预分配缓冲区,这样,往StringBuilder中新增字符时,不会创建新的临时对象。

没搞懂这些东西,廖雪峰的练习涉及到数据库了,以后再看。

.append() 可以用来链式拼接字符串,好像用的很多,不太理解。

var 类型 java10版本新出特性,声明时赋值。代码更加简洁。

StringJoiner

用来给字符串添加分隔符,例如

  var sj= new StringJoiner(",")

还可以加开头和结尾,例如加上 hello,bye

 var sj=new StringJoiner(","," Hello","Bye");

String.join() 在不需要添加开头和结尾的时候可以用

 String[] names={"Bob","Alice","Grace"};
 
    var s=String.join(",",names);

包装类型

 

JavaBean

枚举类

记录类

BigInteger

BigDecimal

常用工具类

 


程序员灯塔
转载请注明原文链接:Day07:Java核心类
喜欢 (0)