是否有更好的方法来压缩此方法,即通过避免切换情况来降低圈复杂度?

String monthString;
        switch (month) {
            case 1:  monthString = "January";       break;
            case 2:  monthString = "February";      break;
            case 3:  monthString = "March";         break;
            case 4:  monthString = "April";         break;
            case 5:  monthString = "May";           break;
            case 6:  monthString = "June";          break;
            case 7:  monthString = "July";          break;
            case 8:  monthString = "August";        break;
            case 9:  monthString = "September";     break;
            case 10: monthString = "October";       break;
            case 11: monthString = "November";      break;
            case 12: monthString = "December";      break;
            default: monthString = "Invalid month"; break;
        }
        System.out.println(monthString);

最佳答案

尝试:

import java.text.DateFormatSymbols;
monthString = new DateFormatSymbols().getMonths()[month-1];

另外,您可以使用SimpleDateFormat:
import java.text.SimpleDateFormat;
System.out.println(new SimpleDateFormat("MMMM").format(date));

(您必须将日期和月份放在Date对象中才能使用第二个选项)。

08-28 21:54