Java各种类型的默认初始化值

骑猪看日落 2023-07-11 06:15 24阅读 0赞

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pwMzU3MjUyNTM5_size_16_color_FFFFFF_t_70

测试代码如下:

  1. /**
  2. * @Title: PrivateTest.java
  3. * @Package com.burns.test
  4. * @Description: TODO(用一句话描述该文件做什么)
  5. * @author 35725
  6. * @date 2020年3月4日 下午3:35:32
  7. * @version V1.0
  8. */
  9. package com.burns.test;
  10. /**
  11. * @ClassName: PrivateTest
  12. * @Description: TODO(这里用一句话描述这个类的作用)
  13. * @author 35725
  14. * @date 2020年3月4日
  15. *
  16. */
  17. public class PrivateTest {
  18. public static void main(String[] args) {
  19. Man man = new Man();
  20. System.out.println(man.toString());
  21. man.method1();
  22. }
  23. }
  24. class Man {
  25. private int age;
  26. private String name;
  27. private byte _byte;
  28. private short _short;
  29. private int _int;
  30. private long _long;
  31. private float _float;
  32. private double _double;
  33. private char _char;
  34. private boolean _boolean;
  35. private String _string;
  36. /**
  37. * 创建一个新的实例 Man
  38. *
  39. */
  40. public Man() {
  41. // TODO Auto-generated constructor stub
  42. }
  43. /**
  44. * 创建一个新的实例 Man
  45. *
  46. * @param age
  47. * @param name
  48. */
  49. public Man(int age, String name) {
  50. this.age = age;
  51. this.name = name;
  52. }
  53. public void method1() {
  54. String a = String.valueOf('\u0000'); // 控制台输出的是空格,\u0000 表示的是Unicode值
  55. System.out.println("a的Unicode值:" + Integer.toHexString(a.charAt(0)));// \u0000
  56. String b = " "; // 空格字符串
  57. String c = ""; // 空字符串
  58. String d = null; // 没有任何指向的字符串引用
  59. String e = "null"; // null字符串,这个null是常量池里的
  60. char _char = 0;
  61. char _char1 = '\u0000';
  62. System.out.println(a + ";" + b + ";" + c + ";" + d + ";" + e + ";");
  63. System.out.println("a.equals(c):" + a.equals(c)); // false
  64. System.out.println("a.equals(b):" + a.equals(b)); // false
  65. System.out.println("a == c:" + (a == c)); // false
  66. System.out.println("a == d:" + (d == a)); // false
  67. System.out.println("a.equals(e):" + a.equals(e)); // false
  68. System.out.println(_char1 == _char);
  69. /*
  70. * 总结:1. 我们知道,Character类定了最小值 MIN_VALUE = '\u0000', 这也是ASCII表的最小值,这样描述:空字符(NUL)
  71. * 2. 虽然它转换为字符串输出为空格,但是它与空格、空字符串、NULL和"null"都不同, 所以无法找到能够描述它的符号
  72. */
  73. }
  74. @Override
  75. public String toString() {
  76. return "Man [age=" + age + ", name=" + name + ", _byte=" + _byte + ", _short=" + _short + ", _int=" + _int
  77. + ", _long=" + _long + ", _float=" + _float + ", _double=" + _double + ", _char=" + _char
  78. + ", _boolean=" + _boolean + ", _string=" + _string + "]";
  79. }
  80. }

测试结果:

20200304161510867.png

发表评论

表情:
评论列表 (有 0 条评论,24人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java 初始化默认

    在mybatis中,如果初始化值,会导致updateSelective时,把原来的值替换掉。因此不建议使用初始化值。 但在freemark前端时,如果没有值初始化值,需要额外