java - 反编译后$SwitchMap$错误

标签 java switch-statement

我需要反编译一个 jar 文件,当我这样做时,我会在 switch 语句中得到这些奇怪的东西。

private String getRawToolName()

switch (1.$SwitchMap$org$bukkit$Material[getItem().getType().ordinal()])
{
case 1: 
  return "Diamond Axe";
case 2: 
  return "Diamond Pickaxe";
case 3: 
  return "Diamond Hoe";
case 4: 
  return "Diamond Shovel";
case 5: 
  return "Diamond Sword";
case 6: 
  return "Golden Axe";
case 7: 

如果有人知道不这样做的反编译器或解决此问题的方法,将不胜感激。谢谢!

最佳答案

只需将 switch (1.$SwitchMap$org$bukkit$Material[getItem().getType().ordinal()]) 更改为 getItem().getType()。 ordinal() 在我遇到的类似情况下修复了它。似乎与它反编译开关的方式有关,但你可以弄清楚原来是什么。

关于java - 反编译后$SwitchMap$错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19898026/

相关文章:

java - JNI方法静态解析验证

java - 使用ObjectOutputStream通过套接字发送多个文件

java - 小数格式与字符串格式

java - 在单遍中执行多次还原

python - 在 Python 中选择不同的 switch-case 替换 - 字典还是 if-elif-else?

Java:如何将一维字符串/整数数组表示为二维整数数组?

ios - 使用元组 Swift 3 在单个 switch-case 中实现多个间隔

go - Go switch case 中的行为不一致

java - Joptionpane 不处理 switch-case

c# - 将 if else 重写为 switch