작은 프로젝트는 배포목록 관리도 잘 안하고 FTP에 바로 붙어서 파일을 업로드 한다던가 할 것이다.근데 조금 큰 프로젝트를 하다보면 배포목록을 관리하게 된다. 근데 class 파일을 보던 중 $1이 붙은 class 파일을 보게 되었다. 원인은 inner class.ex) throw new DataAccessException("데이터 접근 에러!") { }; 해결 방법은 inner class를 제거한 뒤 해당 부분을 대체할 로직으로 변경하여 수정한다.단순히 저렇게 throw 하는 경우에는 상관이 없는데, 특별히 작업을 해주는 부분이라면 머리 아프다.
동기double 을 소수점 길이를 알고 싶었기 때문에 Double.toString 에 split 해서 사용하려고 하는데,자꾸 "ArrayIndexOutOfBoundsException" 가 떨어지는 것이 아닌가... 1. 특수문자를 입력시에는 "\"(이스케이프)를 꼭 붙여야 한다. 2. split("\.")을 하게 되면 에러가 나게 된다. 3. .(점)이라는 문자는 정규식으로 '불특정 문자 1개'라는 의미를 가진다.(구분 문자열을 정규식으로 입력을 받기 때문에) 4. 점 그대로 사용하기 위해선 이스케이프(\) 문자 2개를 붙여야 정상 작동 된다. 사용방법 String[] strDb = "0.1".split("\\."); 참고#http://m.blog.naver.com/lsy820814_2/50153566707
들어가기 전문자열에 포함된 문자열을 찾고 싶었다. indexOf 는 문자열 안에 찾고 싶은 문자의 index 를 return 해주는 것이기에 내 의도와는 다르기 때문에 좀 더 깔끔한 것이 있나 확인해본 결과, 당연히 있었다. contains(CharSequence s)Returns true if and only if this string contains the specified sequence of char values. 사용예시String str = "내가 찾는 문자열"; if(str.contains("찾는")) {true;}else{false;} 참고# https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
메소드명설명 request.getProtocol(); 1 - 프로토콜 이름과 버전 정보를 리턴 request.getServerName(); 2 - 호스트 서버 이름을 리턴 request.getServerPort(); 3 - 요청된 포트 번호를 리턴 request.getRequestURI(); 4 - 1 ~ 3 뒤에 붙은 문자열이 리턴되나, 쿼리스트링은 제외 request.getRequestURL(); 1 ~ 4 모두 리턴 request.getQueryString(); 1 ~ 4 를 제외한 쿼리스트링만 리턴 request.getContextPath(); 컨텍스트 패스 리턴
파싱을 두번 하게 되니 사용을 자제해야 함