小编aio*_*obe的帖子

将对象添加到ArrayList并稍后进行修改

如果我有一个ArrayList,并且我添加了一个对象,后来我修改了这个对象,这个更改是否会反映在ArrayList中?或者当我将对象添加到ArrayList时,Java会创建一个副本并将其添加到ArrayList中吗?

如果我将对此对象的引用更改为null,该怎么办?这是否意味着ArrayList中的对象现在也为null?

java arraylist

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

被认为是不好的做法吗?如果是这样,在什么情况下仍然更可取?

多年来,我尽力避免instanceof.在适用的地方使用多态或访问者模式.我认为在某些情况下它只是简化了维护...是否还有其他一些应该注意的缺点?

但我确实在Java库中看到它,所以我认为它有它的位置?在什么情况下更可取?难道不可避免吗?

java instanceof

62
推荐指数
4
解决办法
3万
查看次数

在Java中获取随机布尔值

好的,我在我的代码中实现了这个SO问题:随机返回True或False

但是,我有一些奇怪的行为:我需要同时运行十个实例,其中每个实例每次运行只返回一次true或false.令人惊讶的是,无论我做什么,每次我得到的都是false

有没有什么可以改进方法,所以我至少有大约50%的机会获得true


为了使它更容易理解:我将我的应用程序构建到JAR文件,然后通过批处理命令运行

 java -jar my-program.jar
 pause
Run Code Online (Sandbox Code Playgroud)

程序的内容 - 使其尽可能简单:

public class myProgram{

    public static boolean getRandomBoolean() {
        return Math.random() < 0.5;
        // I tried another approaches here, still the same result
    }

    public static void main(String[] args) {
        System.out.println(getRandomBoolean());  
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我打开10个命令行并运行它,我false每次都得到结果......

java random boolean

62
推荐指数
4
解决办法
12万
查看次数

如何在Java中设置标签(彩色文本)的颜色?

如何设置标签文本的颜色?

myLabel.setText("Text Color: Red");
myLabel.???
Run Code Online (Sandbox Code Playgroud)

我可以在一个标签中使用两种单独的颜色吗?

例如这里:

"Text Color:"是黑色,"Red"是红色的.

java fonts text label colors

61
推荐指数
4
解决办法
24万
查看次数

由Sun的javac制作的奇怪异常表条目

鉴于此计划:

class Test {
    public static void main(String[] args) {
        try {
            throw new NullPointerException();
        } catch (NullPointerException npe) {
            System.out.println("In catch");
        } finally {
            System.out.println("In finally");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Sun javac(v 1.6.0_24)生成以下字节码:

public static void main(java.lang.String[]);

        // Instantiate / throw NPE
   0:   new     #2;         // class NullPointerException
   3:   dup
   4:   invokespecial   #3; // Method NullPointerException."<init>":()V
   7:   athrow

        // Start of catch clause
   8:   astore_1
   9:   getstatic       #4; // Field System.out
   12:  ldc     #5;         // "In catch"
   14:  invokevirtual …
Run Code Online (Sandbox Code Playgroud)

java jvm bytecode

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

无法运行我的 Node.js Typescript 项目 TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /app/src/App.ts

当我尝试在 Heroku 上启动我的应用程序时,我得到了以下堆栈跟踪。它只是一个基本的 ts.app,就像您在 ts-node 和 nodemon 中看到的那样。如果您需要更多信息,请告诉我,因为这是我的第一篇文章。我真的很想知道答案是什么。

2020-05-30T00:03:12.201106+00:00 heroku[web.1]: Starting process with command `npm start`
2020-05-30T00:03:14.405285+00:00 app[web.1]: 
2020-05-30T00:03:14.405303+00:00 app[web.1]: > discordtoornamentmanager@1.0.0 start /app
2020-05-30T00:03:14.405303+00:00 app[web.1]: > ts-node src/App.ts
2020-05-30T00:03:14.405304+00:00 app[web.1]: 
2020-05-30T00:03:14.833655+00:00 app[web.1]: (node:23) ExperimentalWarning: The ESM module loader is experimental.
2020-05-30T00:03:14.839311+00:00 app[web.1]: TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /app/src/App.ts
2020-05-30T00:03:14.839312+00:00 app[web.1]:     at Loader.defaultGetFormat [as _getFormat] (internal/modules/esm/get_format.js:65:15)
2020-05-30T00:03:14.839314+00:00 app[web.1]:     at Loader.getFormat (internal/modules/esm/loader.js:113:42)
2020-05-30T00:03:14.839315+00:00 app[web.1]:     at Loader.getModuleJob (internal/modules/esm/loader.js:244:31)
2020-05-30T00:03:14.839315+00:00 app[web.1]:     at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-05-30T00:03:14.839316+00:00 app[web.1]:     at Loader.import (internal/modules/esm/loader.js:178:17)
2020-05-30T00:03:14.847801+00:00 app[web.1]: …
Run Code Online (Sandbox Code Playgroud)

node.js npm typescript

54
推荐指数
14
解决办法
5万
查看次数

使用volatile是否有任何意义?

我偶尔会使用一个volatile实例变量,在这种情况下,我有两个线程读取/写入它并且不希望获得锁定的开销(或潜在的死锁风险); 例如,计时器线程定期更新在某些类上作为getter公开的int ID:

public class MyClass {
  private volatile int id;

  public MyClass() {
    ScheduledExecutorService execService = Executors.newScheduledThreadPool(1);
    execService.scheduleAtFixedRate(new Runnable() {
      public void run() {
        ++id;
      }
    }, 0L, 30L, TimeUnit.SECONDS);
  }

  public int getId() {
    return id;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题:鉴于JLS只能保证32位读取将是原子有任何一点曾经使用挥发性长时间?(即64位).

警告:请不要回复说使用volatile结束synchronized是预优化的情况; 我很清楚如何/何时使用,synchronized但有些情况volatile更可取.例如,在定义用于单线程应用程序的Spring bean时,我倾向于使用volatile实例变量,因为无法保证Spring上下文将初始化主线程中的每个bean的属性.

java concurrency multithreading volatile

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

Scala中的空部分函数

在我看来{ case ... => ... },部分函数的语法至少需要一个case:

scala> val pf: PartialFunction[String, String] = { case "a" => "b" } 
pf: PartialFunction[String,String] = <function1>

scala> val pf: PartialFunction[String, String] = { }                
<console>:5: error: type mismatch;
 found   : Unit
 required: PartialFunction[String,String]
       val pf: PartialFunction[String, String] = { }
                                                 ^
Run Code Online (Sandbox Code Playgroud)

那么,定义"空"部分函数的最佳方法是什么?难道还有比"手动"覆盖更好的办法isDefinedAtapply

scala partialfunction

53
推荐指数
5
解决办法
5685
查看次数

什么是sjavac,它是谁,我该如何使用它?

关于OpenJDK邮件列表上调用的工具有一些嗡嗡声sjavac.此外,还有两个相关的JEP:JEP 139:增强javac以提高构建速度JEP 199:智能Java编译,第二阶段.

我的问题是:

  • 这究竟是什么sjavac工具?
  • 它的意图是谁?
  • 我该如何使用它?

免责声明:自我回答的问题.只是想将此工具的知识带到StackOverflow社区,并创建对未来sjavac FAQ的参考.

java javac

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

如何在Scala中将字符串拆分为字符

例如,有一个字符串val s = "Test".你怎么把它分成t, e, s, t

string split scala character character-encoding

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