小编Gab*_*cco的帖子

泛型方法的返回类型(Java)

我有这个通用功能:

public static <T extends Number> T sum(List<T> list){
    Number tot = 0;
    for(Number n: list){
        tot = tot.doubleValue() +  n.doubleValue();
    }
    return (T)tot;
}
Run Code Online (Sandbox Code Playgroud)

回想一下这段代码的主要内容:

public static void main(String[] args) {
    ArrayList<Integer> listInt = new ArrayList<>();
    listInt.add(3);
    listInt.add(5);
    listInt.add(6);
    listInt.add(8);
    System.err.println("Sum: " + Calcolatrice.sum(listInt))
}
Run Code Online (Sandbox Code Playgroud)

因此,我希望(作为listInt是一个整数的ArrayList),函数sum返回的值是T = Integer,在这种情况下,给我一个从Double到Integer的转换错误.结果的类型是Double,不会抛出任何错误.演员(T)tot没有所需的结果.

我想这是因为Java处理泛型站点阶段,但有人知道更好地解释为什么它以这种方式工作?

java generics

6
推荐指数
1
解决办法
123
查看次数

Unity,依赖性错误导入谷歌玩游戏服务

我更新谷歌谷歌游戏服务,如下所述:unity插件,但我有以下错误:

Google.JarResolver.ResolutionException:找不到com.google.android.gms的候选工件:play-services-games:8.4+在Google.JarResolver.PlayServicesSupport.DependOn(System.String group,System.String artifact,System.String version) )[0x00000] in:0中的GooglePlayGames.Editor.GPGSDependencies..cctor()[0x00024] /Users/gabriele/Documents/number777pro/number/Number777/Assets/GooglePlayGames/Editor/GPGSDependencies.cs:46 UnityEditor.EditorAssemblies: SetLoadedEditorAssemblies(大会[])

我试图找到一个解决方案,但没有成功,任何人都知道如何解决?

unity-game-engine google-play-services google-play-games

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