Java基本'if'语句解析

问题描述 投票:-3回答:3

所以,让我们说在一个方法中我有以下if语句:

String displayName = e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getDisplayName();
if(displayName.equals(ChatColor.translateAlternateColorCodes('&', "&9&lDiamond Golem Spawner")))
{ // }

如何以这种方式创建一种“快捷方式”来缩短上述代码,例如:

if(displayName.customEquals("&9&lDiamond Golem Spawner")))
{ // }

为了自动暗示我的customEquals实际上是:equals(ChatColor.translateAlternateColorCodes('&', arg))

java if-statement
3个回答
1
投票

你要做的事情是不可能的,所以你可以在你的类中创建一个名为customEquals的方法,这个方法是这样的:

 if(customEquals(displayName,"&9&lDiamond Golem Spawner""){
    //your code
 }

方法:

public boolean customEquals(String displayName, String string){

return displayName.equals(ChatColor.translateAlternateColorCodes('&', string));
}

0
投票

在java中,这是不可能的。一个String是一个内置的类,不允许你添加自己的方法,另外它也是一个final类,所以它也不允许你子类化它。

你可以做的是为你自己的类添加一个方法做同样的事情。


0
投票

您可以创建一个静态方法:

static boolean customEquals(String a, String b) {
    return a.equals(ChatColor.translateAlternateColorCodes('&', b));
}

然后在你的代码中写

if(customEquals(displayName, "&9&lDiamond Golem Spawner")) {}
© www.soinside.com 2019 - 2024. All rights reserved.