将b.length()换成s.length之后对结果没影响 字符数组长度和字符串长度不是不一样吗

import java.util.*;

public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
if(s.equals(""))
System.out.println("NULL");
else {
char[] b=s.toCharArray();
for(int i=0;i
if(b[i]>='A'&&b[i]<='E')
b[i]+=21;
else if(b[i]>='F'&&b[i]<='Z')
b[i]-=5;
}
String c=new String(b);
System.out.println(c);
}
}
}

怎么不一样呢,String的length方法本来就是返回数组的长度啊,底层就是一个char数组

img

img