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;
}