Open FULaBUla opened 1 week ago
如果不改成以下样式,会出现提示未经检查的泛型转换。
public static <T> MResult<T> build(Integer bytes, T data) { MResult<T> result = new MResult<>(); result.bytes = bytes; result.data = data; return result; } public static <T> MResult<T> build( T data) { MResult<T> result = new MResult<>(); result.data = data; return result; }
然后改过之后发现单元测试中返回的结果就没有按照声明的泛型返回,但是未经检查。这个处理是否合理?
public class CustomBookConverter implements MConverter<Book> { @Override public MResult<Book> pack(int nextReadIndex, byte[] fullBytes, String[] attachParams, Class clz, Object obj, Object root) { if(attachParams[0].equals("1")) { Book book = new Book(); book.setCreateDate(new Date()); book.setId(23); return MResult.build(0, book); } else if(attachParams[0].equals("2")) { Book book2 = new Book(); book2.setCreateDate(new Date()); book2.setId(24); return MResult.build(0,book2); }else if(attachParams[0].equals("3")) { Book2 book2 = new Book2(); book2.setCreateDate(new Date()); book2.setId(25); return MResult.build(0,book2); }else if(attachParams[0].equals("4")) { Book2 book2 = new Book2(); book2.setCreateDate(new Date()); book2.setId(26); return MResult.build(0,book2); } else if(attachParams[0].equals("14")) { Book2 book2 = new Book2(); book2.setCreateDate(new Date()); book2.setId(26); return MResult.build(8,book2); } return MResult.build(0, null); } @Override public byte[] unpack(Book object, String[] attachParams, Object rootObj) { if(attachParams[0].equals("14")) { return new byte[] { 0, 0, 0 ,1, 0, 0, 0 ,5 }; } return new byte[0]; } }
是的,需要更正
如果不改成以下样式,会出现提示未经检查的泛型转换。
然后改过之后发现单元测试中返回的结果就没有按照声明的泛型返回,但是未经检查。这个处理是否合理?