scb
September 8, 2020, 7:26am
1
public class ConversionUtils<T1, T2> {
/**
* T1为类1 T2为类2
*/
public T2 types(T1 t1, T2 T2) {
//t1转换t2
BeanUtils.copyProperties(t1, T2);
//TODO 这里怎么直接返回T2传过来的类型??在外面接收的时候不需要强转类型?
return T2;
}
}
测试类
public class test1 extends ConversionUtils {
@Test
public void show() {
PayCratePayTokenDto payCratePayTokenDto = new PayCratePayTokenDto();
payCratePayTokenDto.setOrderId("1");
payCratePayTokenDto.setPayAmount(1000);
payCratePayTokenDto.setUserId(1);
//TODO 怎么去除这一步强转步骤????????
PaymentTransactionDo o = (PaymentTransactionDo) types(payCratePayTokenDto, new PaymentTransactionDo());
System.out.println(o);
}
}
scb
September 9, 2020, 7:46am
2
//工具类
package com.mayikt.core.utils;
import org.springframework.beans.BeanUtils;
public class ConversionUtils {
/**
* T1为类1 T2为类2
*/
public <T1,T2> T2 typeConversion(T1 t1, T2 t2) {
//t1转换t2
BeanUtils.copyProperties(t1, t2);
return t2;
}
}
scb
September 9, 2020, 7:47am
3
//测试类 完美解决
package com.mayikt.test;
import com.mayikt.core.utils.ConversionUtils;
import com.mayikt.pay.PayCratePayTokenDto;
import com.mayikt.pay.mapper.entity.PaymentTransactionDo;
import org.junit.Test;
public class test1 extends ConversionUtils {
@Test
public void show() {
PayCratePayTokenDto payCratePayTokenDto = new PayCratePayTokenDto();
payCratePayTokenDto.setOrderId(“1”);
payCratePayTokenDto.setPayAmount(1000);
payCratePayTokenDto.setUserId(1);
PaymentTransactionDo o = typeConversion(payCratePayTokenDto, new PaymentTransactionDo());
System.out.println(o);
}
}