Java Android:无法生成泛型类
我以前从未使用过泛型。现在是时候了,我应该创建一个泛型类,否则我的代码长度会变得更大,更难理解 以下是将记录插入到位于Windows Azure的数据库的方式:Java Android:无法生成泛型类,java,android,generics,azure,azure-storage,Java,Android,Generics,Azure,Azure Storage,我以前从未使用过泛型。现在是时候了,我应该创建一个泛型类,否则我的代码长度会变得更大,更难理解 以下是将记录插入到位于Windows Azure的数据库的方式: public class Item { public int Id; public String Text; } 在定义McClient的同一活动中,添加以下代码: Item item = new Item(); item.Text = "Awesome item"; mClient.getTable(Item.cla
public class Item {
public int Id;
public String Text;
}
在定义McClient的同一活动中,添加以下代码:
Item item = new Item();
item.Text = "Awesome item";
mClient.getTable(Item.class).insert(
item,
new TableOperationCallback<Item>() {
public void onCompleted(
Item entity,
Exception exception,
ServiceFilterResponse response
) {
if (exception == null) {
// Insert succeeded
} else {
// Insert failed
}
}
});
public class WindowsAzureOperations<T> {
T mT;
MobileServiceClient mClient;
Context mContext;
public void insert(MobileServiceClient mClient, T tObject, final Context tmpContext) {
this.mClient = mClient;
mT = tObject;
mContext = tmpContext;
this.mClient.getTable(mT.getClass()).insert(mT, // error in this line
new TableOperationCallback<T>() {
public void onCompleted(T entity, Exception exception,
ServiceFilterResponse response) {
if (exception == null) {
} else {
}
}
});
}
}
Item项=新项();
item.Text=“Awesome item”;
mClient.getTable(Item.class).insert(
项目,,
新建TableOperationCallback(){
公共空间未完成(
项目实体,
例外例外,
ServiceFilterResponse响应
) {
如果(异常==null){
//插入成功
}否则{
//插入失败
}
}
});
我无法创建泛型类来对数据库执行插入、删除等操作,。。。位于Windows Azure
这是Microsoft azure参考的链接(如果需要):
我尝试了以下代码:
Item item = new Item();
item.Text = "Awesome item";
mClient.getTable(Item.class).insert(
item,
new TableOperationCallback<Item>() {
public void onCompleted(
Item entity,
Exception exception,
ServiceFilterResponse response
) {
if (exception == null) {
// Insert succeeded
} else {
// Insert failed
}
}
});
public class WindowsAzureOperations<T> {
T mT;
MobileServiceClient mClient;
Context mContext;
public void insert(MobileServiceClient mClient, T tObject, final Context tmpContext) {
this.mClient = mClient;
mT = tObject;
mContext = tmpContext;
this.mClient.getTable(mT.getClass()).insert(mT, // error in this line
new TableOperationCallback<T>() {
public void onCompleted(T entity, Exception exception,
ServiceFilterResponse response) {
if (exception == null) {
} else {
}
}
});
}
}
公共类WindowsAzureOperations{
T-mT;
MobileServiceClient McClient;
语境;
公共无效插入(MobileServiceClient mClient、T ToObject、最终上下文tmpContext){
this.mClient=mClient;
mT=tObject;
mContext=tmpContext;
this.mClient.getTable(mT.getClass()).insert(mT,//此行出错
新建TableOperationCallback(){
未完成的公共无效(T实体、例外、,
ServiceFilterResponse(响应){
if(异常==null){
}否则{
}
}
});
}
}
它显示以下错误:
类型MobileServiceTable
中的方法insert(capture#1-of?extends Object,TableOperationCallback)
不适用于参数(T,new TableOperationCallback(){})
请帮帮我。提前谢谢。问题在于你打电话的方式。给定一个
类
,该方法将返回一个MobileServiceTable
。但是mT.getClass()
返回一个类谢谢你,先生。它现在没有显示出任何错误。我将尝试运行代码并通知您。附:你的经验表明,这肯定会对我有所帮助。再一次,非常感谢。当然,先生。非常感谢。它真的帮助我以一种新的方式思考。@shre202没问题,很高兴我能帮上忙。