我可以使用哪些方法?

时间:2018-10-23 21:36:10

标签: java methods inner-classes

我正在编写一个简单的方法,该方法返回int数组的最小值和最大值。

return new int[]{Arrays.stream(arr).min().getAsInt(), Arrays.stream(arr).max().getAsInt()};

这让我开始思考,为什么我可以使用getAsInt()方法,而该方法却不同于我正在使用的方法(数组)?我什至不必导入OptionalInt类,为什么呢?是什么决定在这种特殊情况下可以使用和不能使用的方法?预先感谢您的任何答复。

2 个答案:

答案 0 :(得分:0)

这是因为方法/post/128/asdd /post/8784/assd 返回一个min()对象。然后,您可以调用方法OptionalInt。您不是在类getAsInt()中调用该方法。每个方法都返回特定类型的值。

答案 1 :(得分:0)

特别是在Arrays上,您仅调用stream方法:https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#stream-int:A-还有更多方法,但这是接受int s数组的方法。
然后,它产生一个IntStream,其中有max / min创建一个OptionalInt,然后在该对象而不是getAsInt上调用Arrays

也许您在问是否可以对“从某处获得”的对象调用方法,而无需直接import对其类进行调用:答案是肯定的,它已经在最简单的“ Hello World”中发生:何时您写了System.ou.println(...),您是在PrintStream上调用println,在编写“ Hello World”时没有人导入。