: 타입, 필드, 메소드 등에 붙일 수 있고 해당 어노테이션을 붙이면 메소드나 필드를 사용하면 빌드할 때 워닝 메시지를 보여준다. 컴파일러에게 이 메소드는 없어질거라는걸 알려주고 쓰지 말도록 경고하는 것.
: javadoc로 이 메소드는 어떤 이유로 사라지며 대신 어떻게 사용하라는 내용을 담아줄 수 있다.
javadoc을 보는 사용자에게 알려주는 것
/*
* @deprecated Replaced by {@link #newOne()}, deprecated for slow performance.
*/
@Deprecated
public void oldOne() {
..
}
: DI 받을 때 주입받는 Bean의 우선순위가 필요할 때 사용한다.
value가 작을수록 우선순위가 높아 앞쪽으로 정렬되고 클수록 뒷쪽으로 정렬된다.
@Order(value = 1)
참고
: 오브젝트를 컨버팅 할 때 타깃과 소스의 이름의 케이스를 무시하고 없는 경우도 오류내지 않고 가능한 것만 매핑하라는 옵션이다. json에는 있지만 Mapping될 Object에는 없는 필드를 무시해야 하는 경우
참고
javafx.util.Pair
'Pair<K,V> class'
두 개체의 튜플을 저장하는 컨테이너로 java는 실제로 Pair 클래스의 구현을 제공하지 않는다
import javafx.util.Pair;
import java.util.ArrayList;
import java.util.List;
class Main
{
// Java 8 이상에 도입된 `javafx.util.Pair` 클래스 시연
public static void main(String[] args)
{
List<Pair<String, Integer>> entries = new ArrayList<>();
entries.add(new Pair<>("C", 20));
entries.add(new Pair<>("C++", 30));
// `getKey()` 및 `getValue()` 메소드를 사용하여 첫 번째 쌍을 인쇄합니다.
System.out.println("{" + entries.get(0).getKey() + ", " +
entries.get(0).getValue() + "}");
// `getKey()` 및 `getValue()` 메소드를 사용하여 두 번째 쌍을 인쇄합니다.
System.out.println("{" + entries.get(1).getKey() + ", " +
entries.get(1).getValue() + "}");
}
}
참고
정규표현식
자바 API java.util.regex 패키지를 사용해야 합니다
문자열을 정규표현식 패턴 객체로 변환해주는 역할.
이때 문자열을 정규식 문법에 알맞게 구성해주지 않으면 예외가 발생한다.
// 문자열 형태의 정규표현식 문법을 정규식 패턴으로 변환
String patternString = "^[0-9]*$";
Pattern pattern = Pattern.compile(patternString); // Pattern 객체로 컴파일된 정규식은 뒤의 Matcher 클래스에서 사용된다
compile(String regex) : 주어진 정규표현식으로부터 패턴을 만듭니다.
matcher(CharSequence input) : 대상 문자열이 패턴과 일치할 경우 true를 반환합니다. 메서드의 첫번째 입력값은 정규식 문자열이고, 두번째 입력값은 검증 대상 문자열입니다.
asPredicate() : 문자열을 일치시키는 데 사용할 수있는 술어를 작성합니다.
pattern() : 컴파일된 정규표현식을 String 형태로 반환합니다.
split(CharSequence input) : 문자열을 주어진 인자값 CharSequence 패턴에 따라 분리합니다.
참고
인터페이스명(character + sequence)에서 짐작되듯이 char 값을 읽을 수 있는 시퀀스
String 문자열을 작성된 후에 변경할 수 없다. String 객체에 보관하는 문자열은 유니코드로 변형되므로 Html과 같은 마크업 문자를 입출력 할 때 문제가 발생한다.
참고
: 대소문자 구분없이 비교할 때 많이 사용
문자열이 같은경우 true 리턴
문자열이 다른경우 false 리턴
JVM에서 해당 객체는 저장하거나 다른 서버로 전송할 수 있도록 해준다.
자바 시스템 내부에서 사용되는 객체 또는 데이터를
외부의 자바 시스템에서도 사용할 수 있도록 바이트 형태로 데이터 변환하는 기술과
바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기한다.
: serialVersionUID 가 선언되어있지 않을 경우 default로 값을 만들어준다고 한다. 하지만 이 값은 컴파일러의 구현에 따라 달라질 수 있기 때문에 역직렬화 시 예기치 못하게 실패할 수도 있다고 한다.
참고
객체와 관련하여 이름 붙여진 속성을 말하며 빈이 관리하는 데이터를 의미.
public String getProperty(String key)
public String getProperty(String key, String defaultValue)
첫번째 메소드는 key를 키값으로 갖는 프로퍼티가 있을 경우 그 값을 리턴하고, 없다면 null을 리턴한다.
두번째 메소드는 key를 키값으로 갖는 프로퍼티가 있을 경우 그 값을 리턴하고, 없다면 두번째 파리미터로 넘겨준 defaultValue를 리턴한다. getProperty() 메소드 이외에 다른 메소드에 대해 알고 싶다면 Java API 문서를 참조하기 바란다.
참고