일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Database
- MariaDB
- httpservletreqeust
- 컨트롤러
- SID
- oracle
- ibatis
- Docker
- 안드로이드 스튜디오
- 톰캣
- HTML
- q87
- 영상편집
- letterspacing
- 키보드
- service name
- 스레드
- wsdl
- 스레드 덤프
- java
- JDBC
- 티스토리챌린지
- http
- MySQL
- 프로세스
- 오블완
- servicename
- cmd
- Tomcat
- API
- Today
- Total
블로그 이름
[JAVA] 'A.B.C' 형태 버전 비교하는법 본문
'1.2.3' 버전과 '1.2.11' 버전 중 어떤 버전이 우선인지 비교해야 하는데
.이 많으면 int로 변환이 안된다.
때문에 . 으로 split 하여 비교해야한다.
// 현재 버전이 비교할 버전보다 높거나 같으면 true, 작으면 fasle를 리턴
public boolean getVersionUp(String now, String compare){
// 각각의 버전을 split으로 String배열에 담는다
String[] nowArray = new String[]{};
if(!"".equals(now) && now != null ){
nowArray = now.split("\\.");
}
String[] compareArray = new String[]{};
if(!"".equals(compare) && compare != null ){
compareArray = compare.split("\\.");
}
// 비교할 버전이 없다면 false
if(nowArray.length == 0 || compareArray.length == 0) return false;
// 비교할 버전들 중 버전 길이가 가장 작은 버전을 구함
int minLength = nowArray.length;
if(minLength > compareArray.length){
minLength = compareArray.length;
}
/* 반복을 통해 A B C 순으로 비교하며 기존의 버전이 비교할 버전보다
크거나 같으면 true, 작을 경우 false를 리턴. */
for(int i=0; i<minLength; i++){
int nowSplit = Integer.parseInt(nowArray[i]);
int compareSplit = Integer.parseInt(compareArray[i]);
if(nowSplit > compareSplit){
return true;
}else if(nowSplit == compareSplit){
continue;
}else if(nowSplit < compareSplit){
return false;
}
}
return true;
}
'개발 > Java' 카테고리의 다른 글
[Java] Type safety: Unchecked cast from Object to List<AAA> (0) | 2024.12.13 |
---|---|
[JAVA] 제네릭 (Generics) 이란 (1) | 2024.11.11 |
[HTTP] @RequestParam으로 Date 타입 받는 방법 (1) | 2024.10.23 |
[ERROR] Context initialization failedorg.springframework.beans.factory.BeanCreationException (0) | 2024.10.15 |
[JAVA] Thread Dump (쓰레드 덤프) 생성하는법 (0) | 2024.09.23 |