首页 > 解决方案 > 检查参数不为空、不为空或为负是什么意思?

问题描述

我有一个任务,上面写着

必须检查参数以确保它们不为空或为空,也不是负值。

我无法理解检查以确保它们不为空或为空或否定的含义。

//field 
private String listingNumber;




//My constructor:

public A0_Realtor(String listingNumberParam)
{        
        setListingNumber(listingNumberParam);
}

编译但不起作用的设置器?如果创建一个默认构造函数并检查该值,我发现该值为 null 并且不会打印出无效值

//Getter not sure if this does anything

public String getListingNumber(){
        return listingNumber;
}

//Setter

public void setListingNumber(String newListingNumber){

        if( newListingNumber != null || newListingNumber.isEmpty()){
            System.out.println("Invalid value");


        } else {
            listingNumber = newListingNumber;


       }

//打印要价的东西。我怀疑我只是因为我输入的“无效”而变得无效?

public void printDetails (){
        System.out.println("MLS Number: "+ listingNumber);
    }

我的输出:

MLS 编号:空

标签: java

解决方案


首先,您似乎通过将方法setListingNumber包含在自身内部而弄乱了您的代码。我猜这只是一个发布错误。

但问题在于这段代码

if( newListingNumber != null && newListingNumber.isEmpty())

值不可能是nullempty。您需要更改为or

if( newListingNumber != null || newListingNumber.isEmpty())

编辑

此外,您的代码没有显示,但我假设您确实有一个名为listingNumber


推荐阅读