如果我像这样分配字符数组:
char[] buffer = new char[26];
Run Code Online (Sandbox Code Playgroud)
它分配的默认值是什么?我试图打印它,它只是一个空角色.
System.out.println("this is what is inside=>" + buffer[1]);
this is what is inside=>
Run Code Online (Sandbox Code Playgroud)
它有ASCII码吗?我需要能够确定数组是否为空,而且当我用字符填充前五个元素时,我需要找出第六个元素是空的.谢谢.
Jon*_*eet 12
它与任何类型相同:该类型的默认值.(所以就像你在一个没有特别初始化的领域一样.)
默认值在JLS 4.12.5中指定:
对于char类型,默认值为空字符,即
'\u0000'.
话虽如此,听起来真的是你想要的List<Character>,它可以跟踪集合的实际大小.如果您需要随机访问列表(例如,即使您没有填充元素2,也希望能够填充元素25),那么您可以考虑:
Character[]使用null作为"未设置"值,而不是'\u0000'(这是,毕竟还是一个字......)Map<Integer, Character>char[]如果你知道你永远不会想要一个有价值的元素'\u0000'作为"集"(如果不了解更多关于你正在做的事情,很难知道哪一个是最合适的.)