여러 Java 일반 예제 공유
1. 일반 클래스
1.1 일반 일반
package test.lujianing; /** * 泛型类 * @param <T> */ class Test<T>{ private T obj; public void setValue(T obj){ this.obj =obj; } public T getValue(){ System.out.println(obj.getClass().getName()); return obj; } } /** * 测试泛型类 */ public class TestOne { public static void main(String[] args) { //测试Integer泛型 Test<Integer> t1 = new Test<Integer>(); t1.setValue(5); Integer i = t1.getValue(); System.out.println(i); //测试Double泛型 Test<Double> t2 = new Test<Double>(); t2.setValue(5.55D); Double d = t2.getValue(); System.out.println(d); //测试String泛型 Test<String> t3 = new Test<String>(); t3.setValue("hello world"); String str =t3.getValue(); System.out.println(str); } }
출력 결과:
java.lang.Integer 5 java.lang.Double 5.55 java.lang.String hello world
1.2 K/V 일반
package test.lujianing; import java.util.HashMap; import java.util.Map; /** * Created by Administrator on 14-3-30. */ class TestKV<K,V>{ private Map<K,V> map=new HashMap<K, V>(); public void put(K k, V v) { map.put(k,v); } public V get(K k) { return map.get(k); } } public class TestFour{ public static void main(String[] args) { TestKV<String,String> t = new TestKV<String, String>(); t.put("name","jianing"); System.out.println(t.get("name")); TestKV<String,Integer> t2 = new TestKV<String, Integer>(); t2.put("age",24); System.out.println(t2.get("age")); } }
출력 결과:
jianing 24
2. 일반 인터페이스
package test.lujianing; /** * 泛型接口 * @param <T> */ public interface TestImpl<T> { public void setValue(T t); public T getValue(); }
출력 결과:
1 hello word
3. 일반 메서드
package test.lujianing; /** * 泛型方法类 */ class TestMethod{ /** * 泛型方法 */ public <T>T getValue(Object s,Class<T> clazz) { System.out.println(clazz.getName()); T t =null; if(clazz.getName().equals("java.lang.Integer")){ Double d = Double.parseDouble(s.toString()); int i =d.intValue(); t=(T)new Integer(i); } if(clazz.getName().equals("java.lang.Double")){ t=(T)new Double(s.toString()); } return t; } } /** * 泛型方法测试类 */ public class TestThree { public static void main(String[] args) { TestMethod t = new TestMethod(); int i =t.getValue("30.0011",Integer.class); System.out.println(i); double d =t.getValue("40.0022",Double.class); System.out.println(d); } }
출력 결과:
java.lang.Integer 30 java.lang.Double 40.0022
4. generics
위의 예에서는 Test
5. 와일드카드 제네릭
package test.lujianing; import java.util.HashMap; import java.util.Map; /** * 通配泛型 */ public class TestFive { public static void main(String[] args) { Map<String,Class<? extends Number>> map = new HashMap<String,Class<? extends Number>>(); map.put("Integer",Integer.class); map.put("Double",Double.class); for (Map.Entry<String,Class<? extends Number>> entry : map.entrySet()) { System.out.println("key:" + entry.getKey() + " value:" + entry.getValue()); } } }
출력 결과:
key:Double value:class java.lang.Double key:Integer value:class java.lang.Integer
간단한 예: 1.1의 예
public static void main(String[] args) { //测试Integer泛型 Test<Integer> t1 = new Test<Integer>(); t1.setValue(5); fun(t1); //测试Double泛型 Test<Double> t2 = new Test<Double>(); t2.setValue(5.55D); fun(t2); } public static void fun(Test<?> t){ System.out.println("通配泛型"+t.getValue()); }
출력 결과:
java.lang.Integer 通配泛型5 java.lang.Double 通配泛型5.55
6. 보충
generic에서는
더 많은 Java 일반 예제 및 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

일부 애플리케이션이 제대로 작동하지 않는 회사의 보안 소프트웨어에 대한 문제 해결 및 솔루션. 많은 회사들이 내부 네트워크 보안을 보장하기 위해 보안 소프트웨어를 배포 할 것입니다. ...

많은 응용 프로그램 시나리오에서 정렬을 구현하기 위해 이름으로 이름을 변환하는 솔루션, 사용자는 그룹으로, 특히 하나로 분류해야 할 수도 있습니다.

IntellijideAultimate 버전을 사용하여 봄을 시작하십시오 ...

시스템 도킹의 필드 매핑 처리 시스템 도킹을 수행 할 때 어려운 문제가 발생합니다. 시스템의 인터페이스 필드를 효과적으로 매핑하는 방법 ...

데이터베이스 작업에 MyBatis-Plus 또는 기타 ORM 프레임 워크를 사용하는 경우 엔티티 클래스의 속성 이름을 기반으로 쿼리 조건을 구성해야합니다. 매번 수동으로 ...

Java 객체 및 배열의 변환 : 캐스트 유형 변환의 위험과 올바른 방법에 대한 심층적 인 논의 많은 Java 초보자가 객체를 배열로 변환 할 것입니다 ...

Redis 캐싱 솔루션은 제품 순위 목록의 요구 사항을 어떻게 인식합니까? 개발 과정에서 우리는 종종 a ... 표시와 같은 순위의 요구 사항을 처리해야합니다.

전자 상거래 플랫폼에서 SKU 및 SPU 테이블의 디자인에 대한 자세한 설명이 기사는 전자 상거래 플랫폼에서 SKU 및 SPU의 데이터베이스 설계 문제, 특히 사용자 정의 판매를 처리하는 방법에 대해 논의 할 것입니다 ...
