小编Nam*_*nge的帖子

Java:何时不使用`private`

因为在一个类中使用公共变量(而不是使用getter和setter)被认为是错误的OO实践,那么为什么不在所有变量private上使用呢?为什么Java甚至允许使用,如果这是不好的做法?public

(这显然不适用于功能)

java oop encapsulation

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

Clang:输出32位和64位组合.dylib

我在执行file命令时看到了32位和64位的dylib .我如何在Clang建造一座?

-m32标志创建32位dylib,-m64创建64位,但使用它们都不起作用.

编辑:例如,这是file我正在尝试构建的dylib类型的输出

file /Library/Frameworks/SDL.framework/Versions/A/SDL 
/Library/Frameworks/SDL.framework/Versions/A/SDL: Mach-O universal binary with 2 architectures
/Library/Frameworks/SDL.framework/Versions/A/SDL (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/Library/Frameworks/SDL.framework/Versions/A/SDL (for architecture i386):   Mach-O dynamically linked shared library i386
Run Code Online (Sandbox Code Playgroud)

macos cpu-architecture clang dylib

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

SWI Prolog与GNU Prolog-SWI下的CLP(FD)问题

我在Prolog中写了一个快速谓词,尝试了CLP(FD)及其求解方程组的能力。

problem(A, B) :-
    A-B #= 320,
    A #= 21*B.
Run Code Online (Sandbox Code Playgroud)

当我在SWI中调用它时,我得到:

?- problem(A,B).
320+B#=A,
21*B#=A.
Run Code Online (Sandbox Code Playgroud)

而在GNU中,我得到以下正确答案:

| ?- problem(A,B).

A = 336
B = 16
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?理想情况下,我希望在SWI中获得正确的结果,因为它是一个更加健壮的环境。

prolog swi-prolog gnu-prolog clp clpfd

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

Python按开始和结束字符拆分字符串

假设你有一个这样的字符串:"(hello) (yes) (yo diddly)".

你想要一个这样的列表: ["hello", "yes", "yo diddly"]

你会如何用Python做到这一点?

python string list

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

Python __import__只给我顶级模块

我正在做

module = __import__("client.elements.gui.button", globals(), locals(), [], 0)
Run Code Online (Sandbox Code Playgroud)

但它只会回归client.

我的问题是什么?

python import

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

Eclipse 和 Java:如何在不在 src 目录中时将文件夹指定为资源

我有一个这样的文件夹树:

Project Folder/
    src/
        *.java
    resources/
        *.png
Run Code Online (Sandbox Code Playgroud)

build.xml文件在构建时包含 2,所以一切都很好。(从某种意义上说,它将resources文件夹复制到src中)

但是,我已将此结构导入 eclipse 并且项目崩溃,因为它无法找到其资源,因为资源文件夹不在src它喜欢的位置。我通过简单地resources进入src和修改来缓解了这个问题build.xml,但我想知道如何让它在 eclipse 中按原样工作。

以下是资源加载方式的示例:

public static ImageIcon createIcon(String fname,String desc) {
        URL imgURL = new Object().getClass().getResource("/resources/icons/"+fname);
        return new ImageIcon(imgURL,desc);
    }
Run Code Online (Sandbox Code Playgroud)

java eclipse ant

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

Java JNI:此操作仅在应用程序容器的上下文中有效

在 Mac 上运行 JNI 失败后,我决定尝试在 Windows 上运行。我编译了我的 DLL,并将其放入java.library.path.

现在.. Java 给了我这个错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\path\to\dll\TheDll.dll: This operation is only valid in the context of an app container
Run Code Online (Sandbox Code Playgroud)

此操作仅在应用容器上下文中有效

什么?我试过用谷歌搜索这个,但没有显示任何相关性。奇怪的是,它在 Mac 上运行得很好。

这是什么原因?

java windows java-native-interface

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