应该返回true但是返回false吗?

时间:2014-12-05 21:52:36

标签: java bukkit

代码:

Bukkit.getServer().broadcastMessage("Check " + ChatColor.stripColor(i));
Bukkit.getServer().broadcastMessage("That it starts with " + ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&',      GUIShop.instance.getConfig().getString("Messages." + type + "Label"))));
Bukkit.getServer().broadcastMessage(ChatColor.stripColor(i).startsWith(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', GUIShop.instance.getConfig().getString("Messages." + type + "Label")))) + "");

它的图像返回false而不是true: enter image description here

我可能是傻瓜..不确定

EDIT1:好的,谢谢你的eckes,他指出我是傻瓜。我怎么检查"购买:50.0"开始于"购买:价格"。如果高达%price%

1 个答案:

答案 0 :(得分:0)

错误是正确的," Buy: 50.0"不以" Buy: %price%"开头。你应该不要将色彩逻辑与翻译逻辑与业务逻辑混合在一起。

让您的代码可读,通常有助于自己找到问题。

如果您想删除%price%,您可以使用:

String check = ChatColor.stripColor(i);
String pattern = ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&',   
                   GUIShop.instance.getConfig().getString("Messages." + type + "Label")));
pattern = pattern.replace(" %price%", "");
boolean isBuy = check.startsWith(pattern);

如果没有更多背景细节,我无法让它更具可读性。