자바에서는 제네릭을 사용하여 동일한 유형의 두 Comparable 개체를 매개 변수로 사용하고 큰 개체를 반환하는 max 함수를 만드는 방법은 무엇입니까? 제네릭을 사용하여 큰 것을 반환하는
내가 시도 :public static <T extends Comparable> T max(T obj1, T obj2)
{
return (((obj1).compareTo(obj2) >= 0) ? obj1 : obj2);
}
(. 그들은 모두 동일한 경우 그것은으로 obj1 반환)
방법은 내가 http://www.informit.com/articles/article.aspx?p=170176&seqNum=3에서 찾을 코드를 기반으로합니다. (: 체크되지 않은 -Xlint로 컴파일) :
그러나 내가 그것을 컴파일 할 때 나는이 경고를 경고 : [선택 해제] 원시 형의 멤버 등은 compareTo (T)에 선택하지 않은 호출 java.lang.Comparable
'Collections.max()'와 유사합니다. –
대단히 감사합니다. – ladaghini
@MarkPeters : Collections.max() 함수의 제네릭 부분을 설명 할 수 있습니까? 그것도 너무 혼란 스럽다. 또는 관련 링크를 제공하십시오. – IfOnly