Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中比较参数和对象?_Java_Class_Object_Parameters_Compare - Fatal编程技术网

如何在Java中比较参数和对象?

如何在Java中比较参数和对象?,java,class,object,parameters,compare,Java,Class,Object,Parameters,Compare,有人知道如何将参数与对象进行比较吗?我一直试图按照最后一个问题中给出的说明来做:但是,似乎不起作用 public class Classification { String changes; String rating; String description; Classification() { rating = "G"; description = "Suitable for gener

有人知道如何将参数与对象进行比较吗?我一直试图按照最后一个问题中给出的说明来做:但是,似乎不起作用

public class Classification
    {
        String changes;
        String rating;
        String description;

    Classification()
    {
        rating = "G";
        description = "Suitable for general audiences";
    }

    Classification(String must)
    {
        if(must != "G" || must!= "PG" || must!="M")
        {
            throw new NullPointerException ("Not equal");
        }
        rating = must;
        if(rating == "G")
        {
            description = "Suitable for general audiences";
        }
        if(rating == "PG")
        {
            description = "Parental guidance recommended"; 
        }
        if(rating == "M")
        {
            description = "Suitable for mature audiences";
        }
    }

    Classification (int num, String para)
    {
        if(num!= 13 || num!= 15 || num!=16 || num!=18)
        {
            throw new IllegalArgumentException("Not equal");
        }
        if(para==null)
        {
            throw new NullPointerException("String is null");
        }
        if(num == 16)
        {
            rating = "R";
            description = para;
        }
        changes = rating + num;
    }

    void printClassification()
    {
        print("Rated " + rating + ": " + description);
    }

    void derestrict()
    {
        if(rating == "M")
        {
            rating = "PG";    
        }
        if(rating == "PG")
        {
            rating = "G";
        }
        if(rating == "G")
        {
            throw new IllegalArgumentException("G is least restrictive");
        }
        if(changes == "R18")
        {
            changes = "R16";
        }
        if(changes == "R15")
        {
            changes = "R13";
        }
    }

    Classification isLessRestrictive(Classification compare)
    {
        if(compare==null)
        {
            throw new NullPointerException ("Classification para is null");
        }
        if(changes<compare)
        {
            return true;
        }
        return false;
    }
}
公共类分类
{
字符串更改;
串级;
字符串描述;
分类()
{
评级=“G”;
description=“适合一般观众”;
}
分类(字符串必须)
{
如果(必须!=“G”|必须!=“PG”|必须!=“M”)
{
抛出新的NullPointerException(“不相等”);
}
评级=必须;
如果(评级=“G”)
{
description=“适合一般观众”;
}
如果(评级=“PG”)
{
description=“推荐家长指导”;
}
如果(评级=“M”)
{
description=“适合成熟观众”;
}
}
分类(int num,String para)
{
如果(num!=13 | | num!=15 | | num!=16 | | num!=18)
{
抛出新的IllegalArgumentException(“不相等”);
}
if(para==null)
{
抛出新的NullPointerException(“字符串为null”);
}
如果(num==16)
{
评级=“R”;
描述=段落;
}
变化=评级+数量;
}
无效印刷品分类()
{
打印(“额定”+额定+”:“+说明);
}
无效解除限制()
{
如果(评级=“M”)
{
评级=“PG”;
}
如果(评级=“PG”)
{
评级=“G”;
}
如果(评级=“G”)
{
抛出新的IllegalArgumentException(“G是限制最少的”);
}
如果(变化=“R18”)
{
更改=“R16”;
}
如果(变化=“R15”)
{
更改=“R13”;
}
}
分类无限制(分类比较)
{
if(比较==null)
{
抛出新的NullPointerException(“分类参数为null”);
}

如果在Java中比较
String
s时(更改),则需要使用
equals()

比如说,

if(must != "G" || must!= "PG" || must!="M")
应该是

if(!"G".equals(must) || !"PG".equals(must) || !"M".equals(must))

看起来是这样的:

if("G".equals(rating))

“参数”和“对象”之间有什么区别?不要吹毛求疵,因为它不会影响答案,但是
如果(“G”.equals(rating))
更安全,因为评级可以为空。@Radiodef-Mmm,说得好。我将更改答案。
if("G".equals(rating))