gpt4 book ai didi

Java接口(interface)问题

转载 作者:行者123 更新时间:2023-11-29 08:17:51 26 4
gpt4 key购买 nike

我有一个接口(interface):

package com.aex;

import javax.jws.WebParam;

public interface IFonds {
double getKoers();
String getNaam();
void setKoers(@WebParam(name="koers") double koers); }

类:

    /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.aex;

import java.io.Serializable;
import javax.jws.*;

/**
*
* @author Julian
*/
@WebService
public class Fonds implements IFonds, Serializable {

String naam;
double koers;

public double getKoers() {
return koers;
}

public String getNaam() {
return naam;
}

public Fonds()
{
}

public Fonds(String naam, double koers)
{
this.naam = naam;
this.koers = koers;

}

public void setKoers(@WebParam(name="koers")double koers) {
this.koers = koers;
}

}

现在我想通过 web 服务发送接口(interface)的集合,所以这是我发送的类:

package com.aex;

import java.util.Collection;
import java.util.*;
import javax.jws.*;

/**
*
* @author Julian
*/
@WebService
public class AEX implements IAEX {

Collection<IFonds> fondsen;

public Collection<IFonds> getFondsen() {
return fondsen;
}


public AEX()
{
IFonds fonds1 = new Fonds("hema", 3.33);


//fondsen.add(fonds1);
}

public double getKoers(@WebParam(name="fondsnaam")String fondsNaam){

Iterator iterator = fondsen.iterator();

while(iterator.hasNext())
{
Fonds tempFonds = (Fonds)iterator.next();
if(tempFonds.getNaam().endsWith(fondsNaam))
{
return tempFonds.getKoers();
}

}
return -1;
}

}

问题是我在最后显示的类 (AEX) 的构造函数中得到了一个空指针异常。这是因为我想将对象添加到接口(interface)集合中。有人对此有解决方案吗?

最佳答案

是的:初始化你的集合变量!

public AEX()
{
IFonds fonds1 = new Fonds("hema", 3.33);

// This is the line you were missing
fondsen = new ArrayList<IFonds>();
fondsen.add(fonds1);
}

请注意,这实际上与接口(interface)或 Web 服务无关...无论上下文如何,除非您显式初始化它们,否则引用类型字段默认为 null。

关于Java接口(interface)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3076278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com