Eclipse:如何为If-else创建Quick-Assist to Switch

时间:2013-05-10 09:18:23

标签: java eclipse ide

在Eclipse Juno中,我们有一个Quick-Assist用于转换Switch to If-else。有没有办法为相反的操作添加快速修复或类似的快捷方式:转换If-else to Switch

例如转换:

if (kind == 1) {
  return -1;
} else if (kind == 2) {
  return -2;
} else {
  return 0;
}

要:

switch (kind) {
  case 1: return -1;
  case 2: return -2;
  default: return 0;
}

1 个答案:

答案 0 :(得分:0)

有趣的问题。如果可以添加快速修复程序以将if-else转换为switch,那么Assist如何将包含多个变量的if-else表达式的boolean语句转换为{ {1}}陈述?

假设我们想将此switch语句转换为if-else

switch

这将导致:

if (x == 1 && y == 1) {
   //do something
} else if (x == 1 && y == 3) {
   //do something else
} else if (x == 2 && y == 1) {
   //and so on.
}

就我个人而言,我不想将switch (x) { case 1 : { switch (y) { case 1: // do something case 3: // and so on } break; } case 2 : { switch (y) { case 1: //do something else } break; } } 与更复杂的if-else语句转换为boolean,因为生成的代码可能非常难以阅读,并且(可能)不会符合一些良好实践惯例。在简单的情况下,就像您发布的那样,这并不是很困难,也不会花费太多时间和精力来转换它。