【发布时间】:2012-03-31 01:21:14
【问题描述】:
我想知道java中最后一个字符是什么? 我有一个处理词典中排序的单词的程序,我只想确保最多某个单词是最后一个这就是为什么我想知道它应该是什么字符?
已编辑:我不是指字符串中的最后一个字符。 更简单地说,我想知道字符串中的第一个字符应该是什么,我想在词法顺序中将其视为最后一个 - 注意:当我使用 string.compareTo 方法时?
【问题讨论】:
我想知道java中最后一个字符是什么? 我有一个处理词典中排序的单词的程序,我只想确保最多某个单词是最后一个这就是为什么我想知道它应该是什么字符?
已编辑:我不是指字符串中的最后一个字符。 更简单地说,我想知道字符串中的第一个字符应该是什么,我想在词法顺序中将其视为最后一个 - 注意:当我使用 string.compareTo 方法时?
【问题讨论】:
如果您谈论的是简单的char 值,那么答案是'\uffff'。 (Java char 值实际上只是带符号的 16 位整数,'\uffff' 或 65535 是该类型可表示的最大整数。\u 是 Java 的 Unicode 转义语法。)
但是,这忽略了一个事实,即单个 Java char 实例只能表示位于 Unicode 平面 0(BMP)内的 Unicode 代码点。该标准当前定义了平面 0 到 16。较高平面中的代码点表示为 Java char 值对;它们被称为代理对。
您需要决定您的应用程序是否需要处理代理对。 (这取决于您是否要支持在高级 Unicode 平面中使用“深奥”字符的文本。)如果支持,那么您将无法使用标准的 String.compareTo 方法等。我建议你看看ICU libraries。
【讨论】:
compareTo 将不起作用。见上文。
它不代表有效的 Unicode 字符,但 char 的最大值,因此是“最后一个”字符,是 65535。
char omega = '\uFFFF';
【讨论】:
你想要字符串的最后一个字符吗?如果是这样:
s.charAt(s.length()-1);
【讨论】: