java 8 에서 switch (String) 오류 해결

1510 단어 JAVA
지금 은 두 드 리 면서 오류 가 발생 했 습 니 다. 예전 에는 jdk 1.7 을 사 용 했 기 때문에 이러한 switch (String) 형식 은 지원 할 수 있 지만 jdk 1.8 에 서 는 안 되 었 습 니 다. 생각 한 후에 해결 방법 을 모색 하 겠 습 니 다.
다음은 내 가 잘못 보고 한 코드 의 한 단락 이다.
private boolean checkName(String fileName, String name, String op) {
		switch (op) {    --->         jdk1.7
		case "no"://     
			return true;
		case "contains"://     ,    true
			return fileName.contains(name) ? true : false;
		case "equals": //     ,    true
			return fileName.equals(name) ? true : false;
		case "noequal": //      ,     true
			return fileName.equals(name) ? false : true;

		default:
			log.info("wrong op:{}", op);
			break;
		}
		return false;
	}

제 가 어떻게 jdk 를 바 꿀 수 있 겠 습 니까? 그래서 힌트 를 보고 매 거 진 것 을 이용 하여 해결 할 수 있다 고 말 했 습 니 다. 제 코드 입 니 다.
//    
enum op{no, contains, equals, noequal}

@Service
public class HdfsService {
  .......          ,      
 private boolean checkName(String fileName, String name, op p) {
		op c = null;
		switch (c) {
			case no: //    
				return true;
			case contains:  //    ,    true
				return fileName.contains(name) ? true : false;
			case equals:    //    ,    true
				return fileName.equals(name) ? true : false;
			case noequal:   //     ,     true
				return fileName.equals(name) ? false : true;
			default:
				log.info("wrong op:{}", p);
				break;
		}
		return false;
	}
	
}

이렇게 하면 이 프로그램 은 정확하게 컴 파일 할 수 있 습 니 다. 감사합니다. 토론 할 만 한 것 이 부족 합 니 다.

좋은 웹페이지 즐겨찾기