当前位置: 首页 > 知识库问答 >
问题:

“->”在java中是什么意思[duplicate]

锺离良哲
2023-03-14
/*
 * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 */
package java.util.function;

/**
 * Represents an operation on a single operand that produces a result of the
 * same type as its operand.  This is a specialization of {@code Function} for
 * the case where the operand and result are of the same type.
 *
 * <p>This is a <a href="package-summary.html">functional interface</a>
 * whose functional method is {@link #apply(Object)}.
 *
 * @param <T> the type of the operand and result of the operator
 *
 * @see Function
 * @since 1.8
 */
@FunctionalInterface
public interface UnaryOperator<T> extends Function<T, T> {

    /**
     * Returns a unary operator that always returns its input argument.
     *
     * @param <T> the type of the input and output of the operator
     * @return a unary operator that always returns its input argument
     */
    static <T> UnaryOperator<T> identity() {
        return t -> t;
    }
}

我发现这是->在Java中的意思,但我不适合我

------------更新-------------------------------------

java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)

共有1个答案

巫马炫明
2023-03-14

您看到的是一个Lambda表达式,这是在Java8中添加的一个新特性。

关于lambdas要说的太多了,所以要全部放在这里,但简而言之,这是一种非常简洁的方法,可以添加一个只包含单个方法的匿名类。

您提到的方法在功能上相当于:

static <T> UnaryOperator<T> identity() {
    return new UnaryOperator<T>{
       public T apply(T parameter){
         return parameter;
       }
    }
}
 类似资料:
  • 我发现这段代码是为了在SO post中找到重复的代码。但我不明白这行是什么意思

  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如

  • 问题内容: 我正在学习上面的代码,它告诉我什么是自省者和什么是stopClass。但是我不明白这是什么意思?`for (PropertyDescriptor prop props) for(i=0;i<100;i++)` 有人可以帮忙进一步解释吗?谢谢! 问题答案: 这就是 Java 5中引入的每种循环语法。

  • 问题内容: 我的问题如上所述。抱歉,可能是重复的,但最后找不到一个示例。 为什么不只使用它作为参数? 问题答案: 是可参数化的类,因此可以使用where 类型的语法。通过编写,您可以声明一个可以是任何类型的对象(是通配符)。该类型是包含类元信息的类型。 通过指定特定类型来引用泛型类型始终是一种好习惯,这是通过尊重您的习惯(您知道可参数化的)来使用的,但并不限制参数具有特定类型。 有关泛型和通配符的

  • 问题内容: 我有一个程序试图缩小到所需的数量。我得到的输出是。 在Java 中是什么意思? 问题答案: “ NaN”代表“不是数字”。如果浮点运算具有一些输入参数,导致该运算产生一些未定义的结果,则会生成“ Nan”。例如,0.0除以0.0在算术上是不确定的。负数的平方根也是不确定的。

  • 在Java中是什么意思?例如,如果我创建了一个名为的类。返回什么?