小编ele*_*ect的帖子

hashCode()和identityHashCode()如何在后端工作?

如何做Object.hashCode()System.identityHashCode()工作在后端?是否identityHashCode()返回对象的引用?是否hashCode()取决于?对象?==运算符如何在后端工作.

hashCode()和之间有什么区别identityHashCode()

java object hashcode

40
推荐指数
5
解决办法
2万
查看次数

如何使用gradle kotlin脚本创建胖罐

正如标题所述,我想知道如何修改它gradle.build.kts以便创建一个独特jar的所有依赖项(包括kotlin lib)的任务.

我在Groovy中找到了这个示例:

//create a single Jar with all dependencies
task fatJar(type: Jar) {
    manifest {
        attributes 'Implementation-Title': 'Gradle Jar File Example',
            'Implementation-Version': version,
            'Main-Class': 'com.mkyong.DateUtils'
    }
    baseName = project.name + '-all'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在kotlin中写出来,除了:

task("fatJar") {

}
Run Code Online (Sandbox Code Playgroud)

kotlin build.gradle build.gradle.kts gradle-kotlin-dsl

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

Java InputStream到ByteBuffer

我读DDS纹理,但由于一次建成罐子我无法通过访问这些纹理urlfile并有能力使用InputStream来代替.

所以我需要知道如何java.?nio.ByteBuffer从一个人那里获得一个java.io.InputStream.

Ps:无论通过第三方库,我只需要它工作

java bytebuffer inputstream

23
推荐指数
2
解决办法
3万
查看次数

为什么项目布局资源与Java源代码分开?

为什么maven将资源保存在与Java源不同的"源文件夹"中?

根据我的经验,在Java中,资源文件大多被视为Java源文件,当"编译"时,只需要按类复制,最终打包在jar中,并通过类加载器的方法访问getResource/ getResourceAsStream,通过classpath.

我个人认为将资源文件与Java源代码分开是一种无用的复杂性.

  1. 你怎么看?
  2. maven是否有充分理由将资源与资源分开?
  3. 有没有在不使用任何计数器指示src/main/resourcessrc/test/resources守信资源src/main/javasrc/test/java使用Maven?

java resources layout maven

18
推荐指数
4
解决办法
5123
查看次数

由于表达复杂,Kotlin,智能演员是不可能的

我有这个代码:

// allocate one mesh
pScene.mNumMeshes = 1
pScene.mMeshes = mutableListOf(AiMesh())
val pMesh = pScene.mMeshes[0]
Run Code Online (Sandbox Code Playgroud)

mMeshes类型参数在哪里

var mMeshes: MutableList<AiMesh>? = null,

编译器在最后一行抱怨,我试图声明 pMesh

聪明的演员MutableList<AiMesh>是不可能的,因为pScene.mMeshes是一个复杂的表达

有什么问题?

kotlin

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

Java 8,如何使用流实现switch语句?

我有一个文本文件imgui.ini包含:

[Debug]
Pos=7,79
Size=507,392
Collapsed=0

[ImGui Demo]
Pos=320,5
Size=550,680
Collapsed=0
Run Code Online (Sandbox Code Playgroud)

对于每一个"要素"我总是有Pos,Size而且Collapsed,我需要阅读.

我想尽可能使用java 8流.

是否可以模拟switch语句行为?

    try (Stream<String> stream = Files.lines(Paths.get(context.io.iniFilename))) {

        ...
/*
    switch(string) {

        case "Pos":
            settings.pos = value;
            break;

        case "Size":
            settings.size = value;
            break;

        case "Collapsed":
            settings.collapsed = value;
            break;
    }
*/

    } catch (IOException e) {
    }
}
Run Code Online (Sandbox Code Playgroud)

java switch-statement java-8 java-stream

10
推荐指数
3
解决办法
2万
查看次数

定义equals()运算符的问题

我上课了

open class Texture
Run Code Online (Sandbox Code Playgroud)

我想定义equals(other: Texture)运算符

operator fun equals(other: Texture) = ...

但我明白了

错误:(129,5)Kotlin:'operator'修饰符不适用于此函数:必须在Any中覆盖''equals()''

这是什么意思?

如果我改变它

operator fun equals(other: Any) = ...

意外覆盖,两个声明具有相同的jvm签名

operator-overloading kotlin

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

Gradle,'url'无法应用于(java.lang.String)

从某个时候开始,maven { url "whatever" }我得到了这个警告:

Imgur

是一个遇到问题的示例项目

它既不是阻挡者也不是关键,但它有点烦人

有人知道它来自哪里吗?

眼镜:

  • 想法IU 181.3263.15
  • JRE 1.8.0_152
  • 科特林1.2.21
  • gradle 4.4.1
  • 赢7 x64

intellij-idea gradle build.gradle

10
推荐指数
2
解决办法
2204
查看次数

CUDA和gcc兼容性问题

我收到了这个错误

/usr/local/cuda-5.0/bin/../include/host_config.h:82:2:错误:#error - 不支持的GNU版本!不支持gcc 4.7及更高版本!make:* [src/Throughput.o]错误1

在host_config.h中,它们确保兼容性高达4.6

#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)

#error -- unsupported GNU version! gcc 4.7 and up are not supported!
Run Code Online (Sandbox Code Playgroud)

我有4.6和4.7

elect @ elect-desktop:/usr/local/cuda-5.0/bin$ gcc gcc
gcc-4.7 gcc-nm-4.7 gcc-4.6 gcc-ar-4.7
gcc-ranlib-4.7

在互联网上看,他们建议在cuda bin目录中添加gcc-4.6的链接.

所以我做了

选举@ elect-desktop:/usr/local/cuda-5.0/bin$ sudo ln -s /usr/bin/gcc-4.6 gcc

我又得到了一个错误

**** Build of configuration Debug for project Throughput ****

make all 
Building file: ../src/Throughput.cu
Invoking: NVCC Compiler
nvcc -G -g -O0 -gencode arch=compute_20,code=sm_20 -odir "src" -M …
Run Code Online (Sandbox Code Playgroud)

ubuntu gcc cuda

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

LNK2019 未解析的外部符号 _CrtDbgReport 在函数 _CRT_RTC_INIT SDL2 中引用

我正在尝试编译apitest ..

克隆并cmake -G "Visual Studio 14 2015 Win64" ..按照指示,一切正常

第一个问题,很多这样的,我什至没有得到错误列表:

error LNK2019: unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT
Run Code Online (Sandbox Code Playgroud)

目瞪口呆,他们说要切换

项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行时库

从多线程 DLL 到多线程调试 DLL

好的,我再次尝试构建,它再次失败,但至少这次我得到了错误列表..

再说一次我的朋友:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT   SDL2    C:\Users\GBarbieri\Documents\Visual Studio 2015\Projects\apitest\_out\thirdparty\SDL2-2.0.1\MSVCRTD.lib(_init_.obj) 1   
Run Code Online (Sandbox Code Playgroud)

答案表示该项目仅与 C 运行时 (CRT) 库的一部分相关联,msvcrtd.lib. 我还需要链接库vcruntimed.libucrtd.lib.

很好,但如何?

apitest 是一个基于很多项目的解决方案,我想我必须手动在 …

c++ linker visual-studio-2015

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