作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个类需要写入文件以与某些遗留 C++ 应用程序交互。
由于它会以并发方式多次实例化,
给文件一个唯一的名称是个好主意。
我可以使用 System.currentTimemili 或 hashcode,但存在冲突的可能性。
另一种解决方案是放一个 var
伴随对象内的字段。
例如,下面的代码显示了一个这样的类和最后一个解决方案,但我不确定这是最好的方法(至少它看起来是线程安全的):
case class Test(id:Int, data: Seq[Double]) {
//several methods writing files...
}
object Test {
var counter = 0
def new_Test(data: Seq[Double]) = {
counter += 1
new Test(counter, data)
}
}
最佳答案
it is a good idea to give the file an unique name
File.createTempFile
:
val uniqFile = File.createTempFile("myFile", ".txt", "/home/user/my_dir")
val uniqPath = Paths.createTempFile(Paths.get("/home/user/my_dir"), "myFile", ".txt"),
关于scala - 如何在 Scala 中为类实例生成唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579725/
我是一名优秀的程序员,十分优秀!