java 获取参数泛型类型
2015-11-07 15:30
651 查看
import java.lang.reflect.ParameterizedType; public abstract class SampleObjectCallBack<T> { private Class<T> clazz; @SuppressWarnings("unchecked") public SampleObjectCallBack() { ParameterizedType type = (ParameterizedType) this.getClass() .getGenericSuperclass(); this.clazz = (Class<T>) type.getActualTypeArguments()[0]; } public abstract void onSuccess(T t); public abstract void onError(int error, String msg); public Class<T> getClazz() { return clazz; } }
用于(接口)回调中获取其泛型的类型。
................. .............. String url = text; HMChatManager.getInstance().postByURL(url, null, new SampleObjectCallBack<Friend>() { @Override public void onSuccess(Friend t) { if (t != null) { Log.d("", "" + t.toString()); Intent intent = new Intent(QRActivity.this, FriendDetailActivity.class); intent.putExtra(FriendDetailActivity.KEY_ENTER, FriendDetailActivity.ENTER_SEARCH); intent.putExtra(FriendDetailActivity.KEY_DATA, t); startActivity(intent); finish(); } } @Override public void onError(int error, String msg) { if (error == 200) { ToastUtil.show(getApplicationContext(), "你扫描的用户不存在"); finish(); } } }); ....... .......
相关文章推荐
- eclipse查看jar包源代码乱码问题解决
- Java记录 -65- 遍历map方法
- spring的BeanUtils.copyProperties(obj1, obj2);复制对象时字段类型不一致,导致赋值不上
- JAVA--接口
- Eclipse智能感知及快捷键
- 1.6以上jdk与springframework3.x不兼容的问题
- QqFriendList.java
- spring与jedis整合配置
- java虚拟机
- Spring的多配置文件加载
- 关于java集合框架collection概述
- 内部类
- Java记录 -64- Java main函数传参
- spring boot 页面获取应用程序路径
- Java RMI之HelloWorld
- 设计模式(工厂和代理)
- Android 切换jdk on Mac OS
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server did not find a matching property.
- java基础2
- java基础