【问题标题】:Defining method in java在java中定义方法
【发布时间】:2016-03-07 08:48:20
【问题描述】:

假设 5 被认为是一个不错的数字。一种方法是定义检查一个数字的好坏。参数类型int,返回类型为boolean。如果参数为 5,则返回 true,否则返回 false。

查看此代码:

class Library{
    boolean isGood(int num){
        return num==5;
    }
}

public class String_handling {
    public static void main(String[] args) {
       int num=8;
       System.out.println(new Library().isGood(num));
    } 
}

我知道这段代码没问题。

但我想定义一个可以这样调用的方法:

System.out.println(num.isGood());

像这样处理字符串:

MyString.contains("xy");

MyString.substring(0,4);

有什么办法吗?举个例子吧。

【问题讨论】:

  • 没有。 int 是原语,原语上没有方法。另外,请注意 containssubstring 是在 String 类上定义的 - 它们不是您可以动态添加的自定义方法。
  • 补充@AndyTurner 所说的内容。您也不能将 wrappers 用于基元,因为它们是 final 并且无法扩展
  • “有什么办法吗?”只要num 是你的Library 而不是int 就像这段代码sn-p 一样,那么可以。跨度>

标签: java methods user-defined-functions


【解决方案1】:

由于int 是一个原语,唯一的办法就是创建你自己的类MyInteger 并添加你的方法isGood(),就像这样

public class MyInteger{

    private int num;

    public MyInteger(int num){
        this.num = num;
    }

    public boolean isGood(int num){
        return this.num == num;
    }

}

【讨论】:

  • 糟糕,我的错。我做了一些修改,忘记编辑了。固定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 2014-11-26
  • 2011-01-26
  • 1970-01-01
相关资源
最近更新 更多