在main方法内编写函数-Java

在main方法内编写函数-Java,第1张

在main方法编写函数-Java

当Java 8发布时,Closure /
Lambda功能应该可以实现,以便您可以在main方法中定义max方法。在此之前,您只能在特殊情况下在main方法中定义一个方法。

碰巧的是,您的问题确实属于特殊情况。有一个接口(可比较),其中包含比较两个相同类型的事物的逻辑。结果,该代码可以如下重写:

public class TestMax {  public static void main(String[] args) {    int i = 5;    int j = 2;    Comparator<Integer> compare = new Comparator<Integer>() {        @Override        public int compare(Integer o1, Integer o2) { // Because Integer already implements the method Comparable, // This could be changed to "return o1.compareTo(o2);" return o1 - o2;        }    };    // Note that this will autobox your ints to Integers.    int k = compare.compare(i, j) > 0 ? i : j;    System.out.println("The maximum between is " + k);  }}

这仅起作用,因为标准Java发行版中已经存在比较器接口。通过使用库可以使代码更好。如果要编写此代码,则将Google
Guava添加到我的类路径中。然后,我可以编写以下内容:

public class TestMax {  public static void main(String[] args) {    int i = 5;    int j = 2;    // The 'natural' ordering means use the compareTo method that is defined on Integer.    int k = Ordering.<Integer>natural().max(i, j);    System.out.println("The maximum between is " + k);  }}

我怀疑您的问题更多是关于Java语言的功能,而不是与订购数字(及其他事物)有关的标准实践。因此,这可能没有用,但我想以防万一。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4978813.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存