Java 8 새로운 기능 참조 상세 정보
인용에 대해 말하자면 우리는 일반적으로 대상에 사용되는데 대상 인용의 특징은 서로 다른 인용 대상은 같은 내용을 조작할 수 있다는 것이다!
Java 8 메소드 참조는 다음과 같은 네 가지 형식을 정의합니다.
/**
*
* @param <P>
* @param <R>
*/
@FunctionalInterface
interface FunStaticRef<P,R>{
public R tranTest(P p);
}
public static void main(String[] args) {
/*
* : public static String valueOf
* String valueOf() FunStaticRef#tranTest
*/
FunStaticRef<Integer, String> funStaticRef = String::valueOf;
String str = funStaticRef.tranTest(10000);
System.out.println(str.replaceAll("0", "9"));
}
객체 메소드 참조 예
/**
*
* @param <R>
*/
@FunctionalInterface
interface InstanRef<R>{
public R upperCase();
}
public static void main(String[] args) {
/*
* : public String toUpperCase()
*
*/
String str2 = "i see you";
InstanRef<String> instanRef = str2 :: toUpperCase;
System.out.println(instanRef.upperCase());
}
특정 유형 방법 참조 예특정 방법의 인용은 이해하기 어렵다. 그 자체가 인용하는 것은 일반적인 방법이지만, 인용하는 방식은 다음과 같다. ClassName::methodName
/**
*
* @param <P>
*/
@FunctionalInterface
interface SpecificMethodRef<P>{
public int compare(P p1 , P p2);
}
public static void main(String[] args) {
/*
* public int compareTo(String anotherString)
* , , !
*/
SpecificMethodRef<String> specificMethodRef = String :: compareTo;
System.out.println(specificMethodRef.compare("A","B"));
ConstructorRef<Book> constructorRef = Book :: new;
Book book = constructorRef.createObject("Java",100.25);
System.out.println(book);
}
구조 방법 참조 예
class Book{
private String title;
private double price;
public Book() {
}
public Book(String title,double price){
this.price = price;
this.title = title;
}
@Override
public String toString() {
return "Book{" +"title='" + title + '\'' +", price=" + price +'}';
}
}
public static void main(String[] args) {
/*
*
*/
ConstructorRef<Book> constructorRef = Book :: new;
Book book = constructorRef.createObject("Java",100.25);
System.out.println(book);
}
전반적으로 말하자면 Java8의 새로운 특성은 현재 프로젝트에서 아직 대량으로 사용되지 않았지만, 배워 보면 이런 Java8의 새로운 특성의 코드를 보고 잘못을 모를 정도는 아니다!읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 8 새 기능 내장 함수식 인터페이스 상세 정보Java 8 새로운 기능 내장 함수식 인터페이스 이전의 블로그 람다 표현식에서 자바 8이 제공하는 함수식 인터페이스를 언급한 적이 있다.이 글에서 자바 8의 가장 기본적인 함수식 인터페이스를 소개할 것이다 방법의 인...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.