Java 完成ArrayList后,如何阻止该方法返回null?
我的代码有问题,我通过Java 完成ArrayList后,如何阻止该方法返回null?,java,swing,oop,arraylist,return,Java,Swing,Oop,Arraylist,Return,我的代码有问题,我通过ArrayList获取currentVehicle,并将其返回到GUI界面中显示 我在到达ArrayList的末尾时遇到问题,它开始返回“null”。由于它返回“null”,我无法返回到以前的车辆,因为currentVehicle值现在被分配为“null” 我已尝试使用while循环重新启动循环,else和else if循环,并使用lastIndexOf和isEmpty检查数组列表,并尝试使其重新循环 下面是ArrayList的代码,我正在其中搜索列表中的下一辆车,我认为可
ArrayList
获取currentVehicle
,并将其返回到GUI界面中显示
我在到达ArrayList
的末尾时遇到问题,它开始返回“null”。由于它返回“null”,我无法返回到以前的车辆,因为currentVehicle
值现在被分配为“null”
我已尝试使用while
循环重新启动循环,else和else if
循环,并使用lastIndexOf
和isEmpty
检查数组列表
,并尝试使其重新循环
下面是ArrayList
的代码,我正在其中搜索列表中的下一辆车,我认为可能存在修复
Showroom.java
public Vehicle nextVehicle()
{
Vehicle nV = null;
try
{
if (currentVehicle < vehicleArray.size())
{
nV = vehicleArray.get(currentVehicle++);
}
}
catch(Exception e)
{
System.out.println("No more vehicles listed");
}
return nV;
}
log.setText(空)
清除下一辆要显示的车辆的JPanel
文本框和log.append(“+s.nextVehicle())
将当前车辆打印到JPanel
TextArea
任何帮助都将不胜感激。如果需要任何其他代码或SSCCE,我将继续并完成它 如果您想在到达最后一辆车后返回第一辆车,请执行以下操作:
public Vehicle nextVehicle()
{
Vehicle nV = null;
try
{
if (currentVehicle < vehicleArray.size())
{
nV = vehicleArray.get(currentVehicle++);
} else {
if (vehicleArray.size() > 0) {
nV = verhicleArray.get(0);
currentVehicle = 1;
}
}
}
catch(Exception e)
{
System.out.println("No more vehicles listed");
}
return nV;
}
下一辆公共车辆()
{
车辆nV=零;
尝试
{
如果(当前车辆0){
nV=verhicleArray.get(0);
当前车辆=1;
}
}
}
捕获(例外e)
{
System.out.println(“不再列出车辆”);
}
返回nV;
}
如果您想在到达最后一辆车后回到第一辆车,请执行以下操作:
public Vehicle nextVehicle()
{
Vehicle nV = null;
try
{
if (currentVehicle < vehicleArray.size())
{
nV = vehicleArray.get(currentVehicle++);
} else {
if (vehicleArray.size() > 0) {
nV = verhicleArray.get(0);
currentVehicle = 1;
}
}
}
catch(Exception e)
{
System.out.println("No more vehicles listed");
}
return nV;
}
下一辆公共车辆()
{
车辆nV=零;
尝试
{
如果(当前车辆0){
nV=verhicleArray.get(0);
当前车辆=1;
}
}
}
捕获(例外e)
{
System.out.println(“不再列出车辆”);
}
返回nV;
}
如果我理解您的代码(和意图),您可以
return vehicleArray.get(vehicleArray.size()-1);
当然,如果vehicleArray
为空,则上述代码将不起作用。爪哇-8(和番石榴)已经有了这个
public Optional<Vehicle> nextVehicle() {
if (vehicleArray != null && !vehicleArray.isEmpty()) {
return Optional
.ofNullable(vehicleArray.get(vehicleArray.size() - 1));
}
return Optional.empty();
}
public可选nextVehicle(){
if(vehiclarray!=null&&!vehiclarray.isEmpty()){
返回可选
.ofNullable(vehiclarray.get(vehiclarray.size()-1));
}
返回可选的.empty();
}
如果我理解您的代码(和意图),您可以
return vehicleArray.get(vehicleArray.size()-1);
当然,如果vehicleArray
为空,则上述代码将不起作用。爪哇-8(和番石榴)已经有了这个
public Optional<Vehicle> nextVehicle() {
if (vehicleArray != null && !vehicleArray.isEmpty()) {
return Optional
.ofNullable(vehicleArray.get(vehicleArray.size() - 1));
}
return Optional.empty();
}
public可选nextVehicle(){
if(vehiclarray!=null&&!vehiclarray.isEmpty()){
返回可选
.ofNullable(vehiclarray.get(vehiclarray.size()-1));
}
返回可选的.empty();
}
完美。谢谢你的回答。太好了。谢谢你的回答。