본문 바로가기

Java6

[Java] 문자열 자르기 split ( Limit 사용하여 마지막 빈 문자열 담기 ) 그동안 split 은 단순히 구분자를 이용하여 문자열 자르는 용도로만 써오다가 코딩테스트 문제를 풀다가 split 의 기능을 제대로 알게 되었다. 문제 주어진 문자열이 예를들어 String str = "a-b--c-d--" ; 일경우에 split 을 하여 마지막 빈 문자열도 배열에 담아야 한다. 해결 split() 메소드는 2가지 메서드로 분류된다. public String[] split(String regex) public String[] split(String regex, int limit) 첫번째 방법으로 문자열을 자르면 [a, b, , c, d] 로 마지막 빈 문자열을 무시한다. 두번째 방법은 양수,0,음수 일때 세가지로 분류된다. limit > 0 limit - 1 만큼 패턴이 적용되고, 나머지.. 2023. 9. 12.
Java 에서 XML 두개의 파일 비교 하기 - XMLUnit XML 파일 두개를 비교해야 하는 일이 있어서 찾아보니 XMLUnit 이라는 라이브러리가 있었다. 그리고 XML 파일 내용 중에서도 특정 속성(Attribute) 값은 제외하고 비교해야 했다. 처음에 찾았을때는 1.* 버전으로 확인해서 내가 원하는 기능을 찾을 수 없었고, DocumentBuilder 로 DOM 으로 만들어서 비교해야 하나 고민하고 있을때 Apache 에서 제공하는 XMLUnit 의 2.* 버전이 있다는 것을 알았고, 바로 문제를 해결 할 수 있었다. Maven dependency 는 다음과 같다. org.xmlunit xmlunit-core 2.9.0 test 첫번째 테스트 코드는 다음과 같다. @Test public void xmlUnitTest() { String source = ".. 2023. 4. 6.
[Java] 제곱근(루트) 구하기 / Math.sqrt() 알고리즘 풀이에서 제곱근을 판별할때 유용한 Java 함수가 있다. Math.sqrt( n ) 제곱근(루트) 함수 n의 제곱근을 double 형으로 반환 ( 단, 음수 사용시 NaN 출력) 리턴되는 값이 정수(int) 여야 제곱근에 해당된다. Math.pow(double a , double b ) 제곱 함수 a 의 b 제곱 을 double 형으로 반환 num.intValue() num 값을 int 값으로 변환 Math.sqrt() 값이 양의 정수인지 확인할 때 사용하기 유용 2022. 10. 18.
[Java] 사용자 Web/App/Mobile 접속 구분하기 User Agent 사용자가 어떤 디바이스로 접속했는지에 대한 정보가 필요할때 Request Header 의 User Agent 로 확인 할 수 있다. User Agent 가 가지고 있는 정보 예시 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 public void getUserDevice(HttpServletRequest request) { String userAgent = request.getHeader("User-Agent"); // 모바일 기종 체크 boolean isMobile = userAgent.matches(".*(iPhone|iPod|i.. 2022. 10. 14.
[Java] 대소문자 확인 및 대소문자 변환 대소문자 확인 Character 클래스에서 제공하는 메서드를 사용 하면 된다. isUpperCase() 전달된 값이 대문자인 경우 true 그렇지 않으면 false 반환 isLowerCase() 전달된 값이 소문자인 경우 true 그렇지 않으면 false 반환 예시 char value = 'C'; if(Character.isUpperCase(value)) { System.out.println("대문자입니다."); } if(Character.isLowerCase(value)) { System.out.println("소문자입니다."); } 실행 대문자입니다. 대소문자 변환 String 클래스에서 제공하는 메서드를 사용하면 된다. toUpperCase() 문자열을 모두 대문자로 변환해준다. toLowerCas.. 2022. 10. 14.
[Java] List to Array(배열) 또는 Array(배열) to List 주로 코딩테스트 문제를 풀면서 쓸때마다 잊어먹고 찾아보게 되어서 간단하게 정리해보았다. 1. List to Array List.toArray() List 의 toArray() 메서드를 활용하는 방법으로 List list = new ArrayList(); String[] arr = list.toArray(new String[0]); 위와 같이 배열 선언과 동시에 할당 하거나 List list = new ArrayList(); String[] arr = new String[list.size()]; list.toArray(arr); 배열 선언 후 List 값을 채워 넣는 방법이 있다. Stream API Java8 버전 이상부터 제공되는 Stream API 를 사용하는 방법 String[] arr = list.. 2022. 10. 13.