小编CLO*_*VIS的帖子

Intellij Gradle 下载 javadoc

Settings\xe2\x86\x92 Build, Execution, Deployment\xe2\x86\x92 Build tools\xe2\x86\x92 Maven\xe2\x86\x92中Importing,有一个选项可以自动下载“源”、“文档”和“注释”。我没有看到 Gradle 有类似的选项。

\n\n

是否可以自动下载 Gradle 项目的文档?

\n

intellij-idea gradle

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

Java - 其他文件中的嵌套类

我有类似的东西:

class Outer {
  // a lot of code...
  class Inner {
    // a lot of code...
  }
}
Run Code Online (Sandbox Code Playgroud)

这正是我想要的技术方式(我确实希望 Inner 是一个嵌套的非静态类)。文件很长,我在这个项目中经常使用这样的模式。为了提高可读性,我想将 Outer 类和 Inner 类放在各自的文件中——但我应该将它们保留为“Inner”和“Outer”(即,Inner 类作为对Outer 类,可以访问任何字段,包括私有字段)。

我想到的一个解决方案是放置一个嵌套接口并将其继承到另一个文件中。然而,基于这个问题,嵌套接口似乎只能是静态的。

另请注意,此问题不是此问题的重复:“将嵌套类放在单独的文件中”,因为该问题旨在使嵌套类取消嵌套。我希望内部类仍然是内部类,只是在另一个文件中。

这个问题是关于抽象内部类的,但没有指定该抽象类的子类是否也被 JVM 视为内部类。

这可能吗 ?如果是这样,我该怎么做?

java oop inner-classes

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

Java 8和Android

我正在开发一个分为2的项目:用于网络内容的库,用纯Java编写(所以它可以重用于桌面版),以及仅包含GUI的Android应用程序.

Android应用程序的Gradle构建导入java库.

我是Android的新手,但我在Java 8方面很有经验.

官方文档中的这个页面说Streams只能在更高级别的Android级别2​​4中使用,但项目管理层希望级别为22(Android 5.1).据我所知,我无法在Android应用中使用Streams.

这是否意味着我不能在Java库中使用Streams?由于该库不是用Android编写的,而是用常规Java编写的,并且Gradle通过字节码链接它们,我可以使用Streams和Java 8编写库,然后在Android项目中导入它吗?

android android-5.0-lollipop

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

方法列表IntelliJ

I'm new to IntelliJ, coming from NetBeans. In NetBeans, on the bottom left side of the window, under the list of files in the project, there is a list of methods/fields in the current class.

With IntelliJ, I found that same window using CTRL+F12, but it's a popup. I'd like it to sit permanently on the bottom left instead. How can I do that?

intellij-idea

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

覆盖Kotlin中的吸气剂?

因此,我有一个抽象类Composition,它有两个孩子:一个是Track,一个是Album(专辑是一组Track)。

class Composition(val name: String, ...)
class Track(name: String): Composition(name)
class Album(name: String, val tracks: List<Track>): Composition(name)
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。现在,我添加了持续时间。它在Composition中是抽象的,因此我可以在子级中覆盖它:

abstract class Composition(...){
    abstract fun getDuration(): Int
}
Run Code Online (Sandbox Code Playgroud)

现在,我可以在Track中添加覆盖方法,该方法将其作为参数:

class Track(..., private val duration: Int): Composition(...){
    override fun getDuration() = duration
}
Run Code Online (Sandbox Code Playgroud)

最后,我制作了专辑,其持续时间是Tracks的总和:

class Album(..., val tracks: List<Track>): Composition(...){
    override fun getDuration() = tracks.sumBy { it.getDuration() }
}
Run Code Online (Sandbox Code Playgroud)

它可以按预期工作,但是我不明白为什么不能简单地使用tracks.sumBy { it.duration },因为在Kotlin中,属性不过是getter和setter(我在考虑getDurationin Composition)。

我感觉好像丢失了一些东西,因为如果用Java编写相同的代码,则可以将其composition.duration作为属性调用-因此,我认为Kotlin允许Java代码提供它,但Kotlin代码不允许难过。

另一个例子:

假设我有一个名为的类Artist,它编写了多个Compositions:

class Artist(
    val nom: String, …
Run Code Online (Sandbox Code Playgroud)

kotlin

0
推荐指数
2
解决办法
1448
查看次数