java泛型
1.泛型方法
/* * <T>表示本方法持有一个不确定类型T,表示本方法是一个泛型方法 * T 返回值类型为T类型的对象 * Class<T> clazz:只有通过反射才能拿到泛型T的对象,因为方法运行时才知道泛型的真正类型 * throws IllegalAccessException, InstantiationException:newInstance()方法抛出了异常 * */ public class Demo { public <T> T method(Class<T> clazz) throws IllegalAccessException, InstantiationException { T t = clazz.newInstance(); return t; } }
2.返回一个泛型类型
public <T> T evaluate(Class<T> clazz, String expression) throws IllegalAccessException, InstantiationException { return clazz.newInstance(); } public <T> T executeDemoOne(Supplier<T> request){ return request.get(); } public <T> T executeDemo(Supplier<T> request) throws RejectedExecutionException { try { ExecutorService executor = Executors.newCachedThreadPool(); Future<T> future = executor.submit(() -> request.get()); T obj = future.get(1000l, TimeUnit.MILLISECONDS); return obj; } catch (ExecutionException | InterruptedException | TimeoutException e) { e.printStackTrace(); } return null; }
感谢您的阅读,您的支持是我写博客动力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决