1、登陆时如果不用
public static <T extends com.avos.avoscloud.AVUser> T logIn(java.lang.String username, java.lang.String password, java.lang.Class<T> clazz)
进行登陆,在接下来的代码中调用
public static <T extends com.avos.avoscloud.AVUser> T getCurrentUser(java.lang.Class<T> userClass)
则会出现转换异常,现在不明白为什么必须要用带有子类的方法登陆才可以用此方法,而且注册的时候没有带有子类操作的方法,是不是也不能用此方法呢???
2、
public static synchronized void changeCurrentUser(com.avos.avoscloud.AVUser newUser, boolean save)
第二个参数是什么意思?替换当前存储的AvUser对象?
3、
public static void alwaysUseSubUserClass(java.lang.Class<? extends com.avos.avoscloud.AVUser> clazz)
这个方法是什么意思?我在Application中使用了此方法,但是getCurrentUser(subUser.class)依然出现转换异常。
1.我们现阶段的代码确实有这个情况,我会尽快修正并且发布版本。但是你现在可以使用AVUser.cast方法来强转一次AVUser.getCurrentUser()
2.AVUser有文件和内存缓存。调用此方法一定会改变内存里的currentUser,第二参数能够决定是否需要替换文件缓存内的方法。这个方法平时都是SDK的开发人员使用较多。。。在不清楚的情况下,请勿使用,以免造成错误。
3.这个方法的意图主要是“所有关联对象中的AVUser对象都会被强转成注册的AVUser子类对象”,而不是指currentUser本身