小编use*_*202的帖子

用于分析依赖关系的 intellij gradle 插件

在 Maven 项目中,我在 Intellij Maven 帮助器插件中使用(https://plugins.jetbrains.com/plugin/7179-maven-helper)。它是一个很棒的工具,有助于以非常方便的方式跟踪传递依赖关系。不幸的是,现在我有 Gradle 项目,但我没有找到类似的 gradle 解决方案。Gradle 有什么解决方案吗?

intellij-idea gradle

5
推荐指数
0
解决办法
370
查看次数

为什么使用方法引用以字节码生成内部类?

我写了使用方法参考的简单示例:

public class Main {
private static String identity(String param) {
    return param;
}

public static void main(String... args) {
    Function<String, String> fun = Main::identity;
    System.out.println(fun.apply("Hello"));
}}
Run Code Online (Sandbox Code Playgroud)

And in generated byte code is InnerClass:

InnerClasses:
 public static final #68= #67 of #71; //Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
BootstrapMethods:
0: #35 invokestatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
  #36 (Ljava/lang/Object;)Ljava/lang/Object;....
Run Code Online (Sandbox Code Playgroud)

I supposed this innerClass is used in lambda bootstrap method, but I do not know when jvm create object of this class and …

java jvm inner-classes

4
推荐指数
1
解决办法
162
查看次数

Java 奇怪的类强制转换异常

谁能帮助我理解为什么在 1 种情况下我没有 ClassCastException?至少 String::trim 不是 MagicFunction。

public class Main {

    @FunctionalInterface
    interface MagicFunction extends Function<String, String> {
    }

    public static void main(String[] args) throws IOException {
        // 1. OK
        final MagicFunction fun1 = String::trim;

        // 2. java.lang.ClassCastException
        Function<String, String> trim = String::trim;
        final MagicFunction fun2 = (MagicFunction) trim;
    }
}
Run Code Online (Sandbox Code Playgroud)

java functional-programming interface classcastexception

3
推荐指数
1
解决办法
210
查看次数