有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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;
    }
}

共 (1) 个答案

  1. # 1 楼答案

    在Java中比较String时,需要使用equals()

    比如

    if(must != "G" || must!= "PG" || must!="M")
    

    应该是

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

    if(rating == "G")
    

    看起来是这样的:

    if("G".equals(rating))