JAVA面试题解惑系列(六)——字符串(String)杂谈JAVA面试题解惑系列(六)——字符串(String)杂谈.doc

JAVA面试题解惑系列(六)——字符串(String)杂谈JAVA面试题解惑系列(六)——字符串(String)杂谈.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA面试题解惑系列(六)——字符串(String)杂谈JAVA面试题解惑系列(六)——字符串(String)杂谈

JAVA面试题解惑系列(六)——字符串(String)杂谈上一次我们已经一起回顾了面试题中常考的到底创建了几个String对象的相关知识,这一次我们以几个常见面试题为引子,来回顾一下String对象相关的其它一些方面。 String的length()方法和数组的length属性 String类有length()方法吗?数组有length()方法吗? String类当然有length()方法了,看看String类的源码就知道了,这是这个方法的定义: Java代码 public?int?length()?{ ?? ????return?count; ?? }?? public int length() { return count; } String的长度实际上就是它的属性--char型数组value的长度。数组是没有length()方法的,大家知道,在JAVA中,数组也被作为对象来处理,它的方法都继承自Object类。数组有一个属性length,这也是它唯一的属性,对于所有类型的数组都是这样。 中文汉字在char中的保存 一个中文汉字能保存在一个char类型里吗? 请看下面的例子: Java代码 public?class?ChineseTest?{ ?? ????public?static?void?main(String[]?args)?{ ?? ????????//?将一个中文汉字赋值给一个char变量 ?? ????????char?a?=?中; ?? ????????char?b?=?文; ?? ????????char?c?=?测; ?? ????????char?d?=?试; ?? ????????char?e?=?成; ?? ????????char?f?=?功; ?? ????????System.out.print(a); ?? ????????System.out.print(b); ?? ????????System.out.print(c); ?? ????????System.out.print(d); ?? ????????System.out.print(e); ?? ????????System.out.print(f); ?? ????} ?? }?? public class ChineseTest { public static void main(String[] args) { // 将一个中文汉字赋值给一个char变量 char a = 中; char b = 文; char c = 测; char d = 试; char e = 成; char f = 功; System.out.print(a); System.out.print(b); System.out.print(c); System.out.print(d); System.out.print(e); System.out.print(f); } } 编译没有报错,运行结果: 中文测试成功 答案就不用说了。为什么一个中文汉字可以保存在一个char变量里呢?因为在JAVA中,一个char是2个字节(byte),而一个中文汉字是一个字符,也是2个字节。而英文字母都是一个字节的,因此它也能保存到一个byte里,一个中文汉字却不能。请看: Java代码 public?class?ChineseTest?{ ?? ????public?static?void?main(String[]?args)?{ ?? ????????//?将一个英文字母赋值给一个byte变量 ?? ????????byte?a?=?a; ?? ????????//?将一个中文汉字赋值给一个byte变量时,编译会报错 ?? ????????//?byte?b?=?中; ?? ?? ????????System.out.println(byte?a?=??+?a); ?? ????????//?System.out.println(byte?b?=?+b); ?? ????} ?? }?? public class ChineseTest { public static void main(String[] args) { // 将一个英文字母赋值给一个byte变量 byte a = a; // 将一个中文汉字赋值给一个byte变量时,编译会报错 // byte b = 中; System.out.println(byte a = + a); // System.out.println(byte b = +b); }

文档评论(0)

pkaokqunw + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档