编辑:IntelliJ CE
我想要的:能够写作
setCanvas(500,500);
Run Code Online (Sandbox Code Playgroud)
代替
StdDraw.setcanvas(500,500);
Run Code Online (Sandbox Code Playgroud)
问题:我不知道如何正确导入 Stddraw 库。如果我只是这样做
import StdDraw;
Run Code Online (Sandbox Code Playgroud)
IntelliJ 告诉我“StdDraw”符号无法解析。如果我将其注释掉,我可以从 StdDraw 调用方法,但我必须编写 StdDraw.setcanvas(500,500);
StdDraw.java 与 Solver.java 位于同一目录中。
代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
// import StdDraw;//StdDraw is in the same directory as Solver
public class Solver {
public static void main(String[] args) {
System.out.println("Solver main is running.");
StdDraw.setCanvasSize(500, 500);
StdDraw.setPenColor(StdDraw.RED);
StdDraw.filledRectangle(0,0,10,10);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过: - 确保 Stddraw.java 与我正在编译和运行的文件位于同一目录中 - 查看http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdDraw.html - 搜索完整的代码示例,即。显示如何导入库的代码 - 搜索 YouTube 教程 - 阅读https://www.jetbrains.com/idea/help/library.html - 在 StdDraw 前面添加一些东西,例如。stblib.StdDraw
我知道我们可以在java中创建一个包私有类.所以该类是Internal,只能在指定的模块中访问:
class MyPackagePrivateClass
{
...
}
Run Code Online (Sandbox Code Playgroud)
现在我正在开发一个我命名的安卓库,LibraryA我希望使用LibraryB我自己的存在LibraryA.如何防止用户直接LibraryA使用LibraryB?
是否有任何概念,如包私有库或类似的东西?
在LibraryB有这样的方法:
public QueryBuilder select(String... columns);
Run Code Online (Sandbox Code Playgroud)
但我强烈认为我们应该使用Type-Safe Enum pattern和阻止用户将字符串传递给这些方法(考虑维护和重构问题).所以我决定将这些方法包装在LibraryA:
public TypedQueryBuilder select(Column... columns) {
queryBuilder = queryBuilder.select(toString(columns));
return this;
}
Run Code Online (Sandbox Code Playgroud)
因此我的库的用户应该使用我提供的Typed方法(Column这里是一个类型安全的枚举).但是,如果他们可以访问原始方法,他们可能会使用这些方法,我倾向于禁止这样做.
警告:我是TDD和Kotlin的巨头.
我在Web上找到了很好的代码片段,用于在Kotlin中编写JUnit测试,但是当我复制并粘贴时,IntelliJ不会自动导入kotlin.test.*或org.junit.Test.通常在Eclipse中,当我复制并粘贴这样的代码片段时,IDE可以找出这些库在我的底层Java安装中的位置.图Kotlin/IntelliJ将是相同的.
在下面的截图中,任何想法为什么我无法导入测试库?他们需要明确地添加到我的路径吗?我需要把这些下test,而不是在src文件夹?
现在,我将 Android 项目提交到 github,并且该本地 jar 文件的先前设置似乎丢失了。
\n\n每当同事签出该项目时,他们都没有其他 jar 文件的路径。
\n\n问题:
\n\nlibs我的应用程序模块中的文件夹。与1相比有什么优点和缺点?我有任务准备领域数据库,然后将其打包到android项目中的res目录,但目前我尝试创建RealmConfiguration时有异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no realm-jni in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1865)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:69)
at io.realm.RealmConfiguration$Builder.<init>(RealmConfiguration.java:321)
at jujumedia.coffeeguide.PreBuildLoader.main(PreBuildLoader.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Run Code Online (Sandbox Code Playgroud)