泛型

复制代码
package com.tenpay.risk.aml.cdd.batch.apisvr.core.basic;

import lombok.*;
import lombok.experimental.Accessors;
import net.bytebuddy.asm.MemberSubstitution;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

@Data
public class GenerialTest {

    @Test
    void test(){
        ActionController<FirstApproveEO, ApproveRequest<FirstApproveEO>> firstApproveEOApproveRequestActionController = new ActionController<>();
        ApproveRequest<FirstApproveEO> firstApproveEOApproveRequest = new ApproveRequest<>();
        firstApproveEOApproveRequest.setField(new FirstApproveEO("123"));
        firstApproveEOApproveRequestActionController.test(firstApproveEOApproveRequest);
    }

    @Test
    void testArrays() {
        Arrays<Integer, String> tool = new Arrays<>();
        tool.reverse(new Integer[]{1,2,3,4,5});
        ArrayList<String> strings = new ArrayList<>();
        strings.add("s1");
        strings.add("s2");
        strings.add("s3");
        tool.print(strings);

    }
}

class Arrays<T,S>{
    public void reverse(T[] array){
        for(int i=0,j=array.length-1;i<j;i++,j--){
            T temp=array[i];
            array[i]=array[j];
            array[j]=temp;
        }

        for (T t : array) {
            System.out.println(t);
        }
    }

    public void print(List<S> list){
        for (S s : list) {
            System.out.println(s);
            System.out.printf("");
        }
    }

    public static void getDate(Collection<? extends Integer> arrays,Collection<? super Integer> arrays2){

    }

    public void test(String... args){
        for (String arg : args) {
            System.out.printf(arg);
        }
    }


}

class ActionController<Ex extends FirstApproveEO,Req extends ApproveRequest<Ex>>{

    public void test(Req req){
        System.out.println(req.getField().getFirstComment());
    }
}

@Data
class ApproveRequest<Ex extends DealEO>{
    Ex field;
}

@Data
class DealEO{

}

@Data
@AllArgsConstructor
class  FirstApproveEO extends  DealEO{
    private String firstComment;
}
复制代码

 

posted @   mick0802  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示