小编Mar*_*ler的帖子

Kotlin的私人建筑商

在Java中,可以通过创建类来隐藏类的主构造函数private,然后通过public static该类中的方法访问它:

public final class Foo {
    /* Public static method */
    public static final Foo constructorA() {
        // do stuff

        return new Foo(someData);
    }

    private final Data someData;

    /* Main constructor */
    private Foo(final Data someData) {
        Objects.requireNonNull(someData);

        this.someData = someData;
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

如何在不将类分成public接口和private实现的情况下与Kotlin达成同样的目标?使构造函数private导致它无法从类外部访问,甚至不能从同一文件中访问.

java constructor visibility kotlin

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

是否可以使用大括号{}来细分Java代码?

我在使用Swing制作GUI时缺乏经验,现在我想知道是否可以使用"{"和"}"来细分我的代码,例如

[...]
JFrame f = new JFrame();
JPanel p = new JPanel();
{
   JLabel a = new JLabel("Hello");
   p.add(a);

   JLabel b = new JLabel("World!");
   p.add(b);
}
f.add(p);
[...]
Run Code Online (Sandbox Code Playgroud)

我测试了它,我觉得它没有任何区别......我错了吗?

提前致谢

java swing

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

Flutter 平台特定依赖项

我想使用 Flutter 从单个代码库构建适用于 Android、iOS 和 Web 的应用程序。由于 Web 尚不支持所有 Flutter 插件,因此我必须使用具有依赖项(例如dart:html)的替代方案,而这些依赖项在 Android 和 iOS 上不可用。

如何根据应用程序运行的平台注入正确的实现,而不加载不必要/不可用的包?

android ios dart flutter progressive-web-apps

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

无法修复java.lang.ArrayIndexOutOfBoundsException

我希望我能够很好地提出我的问题,因为我来自德国...... :)

我有一个非常基本的java程序,但是当我启动它时,我得到一个java.lang.ArrayIndexOutOfBoundsException错误.我搜索了问题,但我找不到它:

Code.java

public class Code {
    private String code;
    private int nextStep;

    public Code() {
        nextStep = 0;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public void setNextStep(int lastStep) {
        this.nextStep = lastStep;
    }

    public String getActiveStepSeq() {
        String[] activeStepSeq = this.code.split(".");
        return(activeStepSeq[0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

Object.java

public class Being {
    public Code code;
    private String activeStepSeq;
    private String activeAction;

    public String I0;
    public String O0;
    public String S0;

    public Object(Code code) {
        this.code = code; …
Run Code Online (Sandbox Code Playgroud)

java arrays

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

如何返回并清除列表?

我想知道是否有更优雅的方法来返回属性并更改/"重置"其值.这是我现在这样做的方式:

[...]

final List<T> copyOfOriginal = new ArrayList<T>(original);
original.clear();

return copyOfOriginal;

[...]
Run Code Online (Sandbox Code Playgroud)

我真的要复制整个清单吗?

java performance return list return-value

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