String 문자열에 대해 Apache에서 제공하는 라이브러리를 사용하면 null exception을 방지하여 사용할 수 있습니다. - org.apache.commons.lang3.StringUtils ==================== Empty * StringUtils.isEmpty(CharSequence cs)- 값이 null인지 공백문자("")이면 true 값을 반환한다. StringUtils.isEmpty(null) : true StringUtils.isEmpty("") : true StringUtils.isEmpty(" ") : false StringUtils.isEmpty("str") : false StringUtils.isEmpty(" str ") : false * StringUtils...
랜덤 문자열을 만들때 Apache Commons Lang 3.7 라이브러리를 사용하면 간편하게 만들 수 있습니다. 다운로드는 https://commons.apache.org/proper/commons-lang/download_lang.cgi 이곳에서 원하는 형식으로 받아주면 됩니다. - org.apache.commons.lang3.RandomStringUtils * RandomStringUtils.random(count)- 임의의 문자를 count만큼 랜덤으로 생성해준다.- count : 문자열 길이 RandomStringUtils.random(20) : 김ꥮ𩲻ꘅ𪮜롽𧌟𣬈ᒷŶ疟𝒆𓁂槕 * RandomStringUtils.random(count, start, end, letters, number)- 임의의 문..
상속, 인터페이스에 의한 다형성(polymorphism) 1. 지연 바인딩 보통은 변수의 타입은 이 변수가 참조하는 개체의 클래스와 일치한다. ChessPiece bishop = new ChessPiece(); 위에서 bishop 변수는 ChessPiece 클래스를 실체화시킴으로써 생성되는 객체를 가리키는데 사용될 수 있다.이렇게 변수의 타입과 이 변수가 참조하는 객체가 호환 가능해야 하나 정확하게 일치할 필요는 없다. 참조 변수와 이 변수가 참조하는 객체와의 관계는 더 유연하다. 다형성(polymorphism)이란 용어는 "여러 형태를 갖는 것"으로 정의된다.다형 참조(polymorphic reference)는 때에 따라 다른 타입의 객체를 참조할 수 있다는 것이다. 다형 참조를 통해서 호출되는 특정 ..
SimpleDateFormat 클래스와 위험성 JAVA 1.5에서는 Formatter 클래스를 지원하면서, 다양한 확장된 Format 클래스들이 나왔다.이중에서 가장 많이 Formatting이 필요한게 날짜 관련인데, 이는 앞에 Formatter 클래스에서 설명을 했다. [JAVA/Java] - [JAVA] Formatter 클래스 format(), 날짜 format() 하지만 SimpleDateFormat 클래스라는 좀 더 쉽게 날짜 Formatting이 가능한 클래스가 있다. SimpleDateFormat format = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초"); 또한 format의 대상으로 Date() 클래스와 Calendar 클래스를 모두 사용할 수..
Formatter 클래스 format() 1. Formatter 클래스 JDK 1.5 버전에서는 C 언어의 printf 문과 같은 출력 형태를 지정하도록 java.util.Formatter 라는 클래스를 제공한다.Formatter 클래스는 형식 문자열을 제공하고 이 문자열에서 지정한 대로 데이터가 형식화 된다. Formatter 클래스를 이용하기 위해서는 형식화된 출력이 지정될 Appendable 인터페이스를 구현한 클래스를 사용해야 한다. Formatter에서 형식화된 문자열을 만들었을 때, 결과가 저장되는 곳이다.Appendable 인터페이스를 구현한 클래스는 StringBuffer, PrintStream,FileWriter 등 약 14개의 클래스가 있다. Formatter f = new Format..
HashMap 클래스 HashMap 클래스는 키와 데이터 값의 한쌍으로 묶어서 관리하며 키의 중복을 허용하지 않는다.유사한 성격의 클래스로는 HashMap, HashTable, TreeMap 클래스가 있다. 키와 값의 쌍으로 관리하므로 Enumeration이나 Iteration 객체를 사용하여 데이터를 추출하지 않고 해당 키에 대하여 데이터 값을 추출한다. * Map 인터페이스의 주요 메소드 HashMap 메소드 설명 put() - 키(Key)와 값으로 구성된 새로운 데이터를 추가한다. get() - 지정한 키(Key)에 해당하는 데이터를 반환한다. remove() - 지정한 키(Key)에 해당하는 데이터를 삭제한다. containKey() - 지정한 키(Key)가 존재하는지 여부를 반환한다. conta..
Enumeration 인터페이스 정리 Enumeration 인터페이스는 객체들의 집합(Vector)에서 각각의 객체들을 한순간에 하나씩 처리할 수 있는 메소드를 제공하는 켈렉션이다. [JAVA/Java] - [JAVA] Vector 클래스 정리 인터페이스이므로, 직접 new 연산자를 이용하여 객체를 생성할 수 없으며, Enumeration 인터페이스에 선언된 메소드는 그 인터페이스를 사용하는 클래스로 구현해서 사용해야만 한다. * Enumeration 인터페이스 메소드 Enumeration 메소드 설명 boolean hasMoreElements() Vector로 부터 생성된 Enumeration의 요소가 있으면 true, 아니면 false 반환Object nextElement() Enumeration 내..
Vector 클래스 정리 자바의 배열은 고정 길이를 사용한다. 즉, 배열이 한 번 생성되면 배열의 길이를 증가하거나 감소할 수 없다. [JAVA/Java] - [JAVA] Array 배열, 이중 배열, 다중 배열 사용자가 배열을 사용할 때 배열의 크기를 벗어나는 인덱스에 접근하면 java.lang.ArrayIndexOutOfBoundsException이 발생한다. 그러므로 배열을 사용할 때는 충분한 크기로 설정해야 한다. 그러나 사용할 배열의 크기를 미리 예측하는 것은 쉬운 일이 아니다. 자바에서는 동적인 길이로 여러 데이터형을 저장하기 위해 Vector 클래스를 제공한다.Vector 클래스는 가변 길이의 배열이라고 할 수 있다. 즉, Vector 클래스는 객체에 대한 참조값을 저장하는 배열이므로 다양한..
Calendar 클래스 (달력 출력) Calendar 클래스도 Date 클래스처럼 날짜와 시간에 관한 정보를 표현할 때 사용한다. Date 클래스에서 deprecate된 메소드나 생성자들 중 같은 기능의 메소드가 Calendar 클래스에서 제공된다. Calendar 클래스는 추상 클래스이므로 객체를 직접 생성할 수는 없지만, getInstance() 메소드를 이용하여 시스템의 날짜와 시간 정보를 표현할 수 있다. * Calendar 클래스의 주요 상수 상수사용방법설명 static int YEARCalendar.YEAR 현재 년도를 가져온다.static int MONTH Calendar.MONTH 현재 월을 가져온다. (1월은 0) static int DATE Calendar.DATE 현재 월의 날짜를 가..
Date 클래스 Date 클래스는 날짜와 시간에 관한 정보를 표현한다. Date 클래스는 JDK가 버전업 되면서 많은 메소드가 deprecate 되었다. 따라서 Date 클래스는 구버전으로 날짜 관련 정보는 Calendar 클래스를 사용하도록 하자. [JAVA] Calendar 클래스 (달력 출력) * Date 클래스의 생성자 Date 클래스의 생성자 설명 Date() 현재의 날짜와 시간을 저장한 객체를 생성한다. Date(long msec) 1970년 1월 1일 0시 0분 0초부터 msec를 1/1000초 단위로 하여 경과한 날짜와 시간을 저장한 객체를 생성한다. * Date 클래스의 주요 메소드 Date 클래스의 메소드 설명 boolean after(Date when) when의 날짜가 현재 날짜 이..