Java/Android:如何使用返回类型';列表<;MyType>';?
我的问题是关于Java/Android的: 我创建了一个类Java/Android:如何使用返回类型';列表<;MyType>';?,java,android,list,arraylist,return,Java,Android,List,Arraylist,Return,我的问题是关于Java/Android的: 我创建了一个类MyClass,它有一个方法getAllData(),返回一个List=newarraylist()。在另一个类MyOtherClass中,我调用此方法并希望将返回的列表写入另一个List 但是我得到了以下错误:未处理的异常类型异常 我能做些什么 代码如下: MyClass.java public List<MyType> datas = new ArrayList<MyType>(); public List
MyClass
,它有一个方法getAllData()
,返回一个List=newarraylist()
。在另一个类MyOtherClass
中,我调用此方法并希望将返回的列表写入另一个List
但是我得到了以下错误:未处理的异常类型异常
我能做些什么
代码如下:
MyClass.java
public List<MyType> datas = new ArrayList<MyType>();
public List<MyType> getAllData() throws Exception{
//add some things to datas...
return datas;
}
public void fetchData(){
MyClass mydatas = new MyClass();
List<MyType> thedatas = mydatas.getAllData();
}
public List data=new ArrayList();
公共列表getAllData()引发异常{
//向数据中添加一些内容。。。
返回数据;
}
MyOtherClass.java
public List<MyType> datas = new ArrayList<MyType>();
public List<MyType> getAllData() throws Exception{
//add some things to datas...
return datas;
}
public void fetchData(){
MyClass mydatas = new MyClass();
List<MyType> thedatas = mydatas.getAllData();
}
public void fetchData(){
MyClass mydatas=新的MyClass();
列出数据=mydatas.getAllData();
}
我怎样才能解决这个问题?
语句周围有一个“try/catch(Exception e)”,它似乎无法从getAllData()获取返回的列表代码>
提前多谢 您可以声明getAllData
方法来抛出异常
。编译器现在询问您,如果抛出类型为exception的异常,该怎么办
您不应该将异常作为方法签名的一部分抛出。太笼统了。相反,您应该尝试只抛出可能发生的特定异常
如果您不希望fetchData
必须处理异常,则必须声明fetchData
以引发相同的异常,或者使getAllData
捕获异常,并在引发异常时返回适当的值 您可以声明getAllData
方法来抛出异常
。编译器现在询问您,如果抛出类型为exception的异常,该怎么办
您不应该将异常作为方法签名的一部分抛出。太笼统了。相反,您应该尝试只抛出可能发生的特定异常
如果您不希望fetchData
必须处理异常,则必须声明fetchData
以引发相同的异常,或者使getAllData
捕获异常,并在引发异常时返回适当的值 由于getAllData()
可能会引发选中的异常(即,不是RunTimeException
的异常),因此必须用try-catch
包围语句
public void fetchData() {
MyClass mydatas = new MyClass();
try {
List<MyType> thedatas = mydatas.getAllData();
} catch (Exception ex) {
// display or log exception name
}
}
由于getAllData()
可能会抛出一个选中的异常(即不是RunTimeException
的异常),因此必须用try-catch
包围语句
public void fetchData() {
MyClass mydatas = new MyClass();
try {
List<MyType> thedatas = mydatas.getAllData();
} catch (Exception ex) {
// display or log exception name
}
}
你有MyClass和MyOtherClass,但问题是,你有MyType类型吗当然,我已经定义了我的类型。无论如何,谢谢你@马克·拜尔斯:你到底是什么意思?我无法编译,因此我在设置“List thedatas=mydatas.getAllData();”行旁边的代码中直接从Eclipse获得此消息。它建议我用try/catch块来围绕它。所以‘try{List thedatas…}catch(Exception e){}没有帮助。您有MyClass和MyOtherClass,但问题是,您有MyType类型吗?:当然,我已经定义了我的类型。无论如何,谢谢你@马克·拜尔斯:你到底是什么意思?我无法编译,因此我在设置“List thedatas=mydatas.getAllData();”行旁边的代码中直接从Eclipse获得此消息。它建议我用try/catch块来围绕它。所以“试试{List thedata…}catch(Exception e){}”,但这没有帮助。非常感谢,没错。我这样做了,但没有起作用。它不起作用的原因是,方法getAllData()代码>引发了异常。。。但也许这对某人有帮助。非常感谢,没错。我这样做了,但没有起作用。它不起作用的原因是,方法getAllData()代码>引发了异常。。。但也许这对某人有帮助。