我会建议不要创建一个字符长的子字符串。
if (name.charAt(name.length() - 1) == region.charAt(region.length() - 1)) {
System.out.println(name + " " + region);
}
编辑
我不知道人们为什么决定downvote,但为什么我建议不要制造一个字符长串,我会添加一个解释。
if (name.substring(name.length() - 1).equals(region.substring(region.length()-1))
substring
始终创建一个新的String对象。所以这里创建两个新的String对象(一个用于两个字符串的最后一个字符),仅为相等比较创建。他们立即有资格获得下一个可能的垃圾回收,因为他们以后不会被使用。
子串方法return (beginIndex == 0) ? this : new String(value, beginIndex, subLen)
if (name.charAt(name.length() - 1) == region.charAt(region.length() - 1))
charAt
的相关部分返回该位置处的参考字符。所以平等比较是在字符串实例的一个字符上完成的。
charAt方法的相关部分return value[index]
(值为字符串实例中的char值[])。
你可以使用'name.endsWith(region)' – Rustam