小编Eug*_*ota的帖子

JAXB:如何在解组XML文档时忽略命名空间?

我的模式指定了命名空间,但文档没有.在JAXB解组(XML - >对象)期间忽略命名空间的最简单方法是什么?

换句话说,我有

<foo><bar></bar></foo>
Run Code Online (Sandbox Code Playgroud)

代替,

<foo xmlns="http://tempuri.org/"><bar></bar></foo>
Run Code Online (Sandbox Code Playgroud)

java xml jaxb xml-serialization

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

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

我可以从代码中访问我的Scala应用程序的名称和版本(在SBT中设置)吗?

我正在使用Scala构建定义构建一个使用SBT(0.11.0)的应用程序,如下所示:

object MyAppBuild extends Build {

  import Dependencies._

  lazy val basicSettings = Seq[Setting[_]](
    organization  := "com.my",
    version       := "0.1",
    description   := "Blah",
    scalaVersion  := "2.9.1",
    scalacOptions := Seq("-deprecation", "-encoding", "utf8"),
    resolvers     ++= Dependencies.resolutionRepos
  )

  lazy val myAppProject = Project("my-app-name", file("."))
    .settings(basicSettings: _*)
    [...]
Run Code Online (Sandbox Code Playgroud)

我在流程结束时打包了一个.jar.

我的问题很简单:有没有办法从我的Scala代码中以编程方式访问应用程序的名称("my-app-name")和版本("0.1")?如果我能帮忙,我不想在两个地方重复它们.

任何指导非常感谢!

scala sbt sbt-buildinfo

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

Scala:如何动态实例化对象并使用反射调用方法?

在Scala中,动态实例化对象并使用反射调用方法的最佳方法是什么?

我想做Scala - 相当于以下Java代码:

Class class = Class.forName("Foo");
Object foo = class.newInstance();
Method method = class.getMethod("hello", null);
method.invoke(foo, null);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,类名和方法名都是动态传递的.上面的Java机制可能用于Foohello(),但Scala类型与Java的一对一不匹配.例如,可以为单个对象隐式声明类.Scala方法也允许各种符号作为其名称.两者都通过名称修改来解决.请参阅Java和Scala之间的Interop.

另一个问题似乎是通过解决重载和自动装箱来匹配参数,如Scala - Heaven和Hell的反思所述.

reflection scala name-mangling

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

如何使用A值作为地图中的关键字将Seq [A]转换为Map [Int,A]?

我有一个Seq类的对象,如下所示:

class A (val key: Int, ...)
Run Code Online (Sandbox Code Playgroud)

现在我想将此转换Seq为a Map,使用key每个对象的值作为键,并将对象本身作为值.所以:

val seq: Seq[A] = ...
val map: Map[Int, A] = ... // How to convert seq to map?
Run Code Online (Sandbox Code Playgroud)

如何在Scala 2.8中高效且优雅地完成这项工作?

scala scala-2.8 scala-collections

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

Scala:如何合并地图集合

我有一个Map [String,Double]列表,我想将它们的内容合并到一个Map [String,Double]中.我该如何以惯用的方式做到这一点?我想我应该可以用折叠来做到这一点.就像是:

val newMap = Map[String, Double]() /: listOfMaps { (accumulator, m) => ... }
Run Code Online (Sandbox Code Playgroud)

此外,我想以通用的方式处理关键冲突.也就是说,如果我向已经存在的地图添加一个键,我应该能够指定一个返回Double的函数(在这种情况下)并获取该键的现有值,加上我试图添加的值.如果地图中尚不存在该关键字,则只需添加该关键字并使其值不变.

在我的具体情况下,我想构建一个Map [String,Double],这样如果地图已经包含一个键,那么Double将被添加到现有的地图值中.

我在我的特定代码中使用可变映射,但如果可能的话,我对更通用的解决方案感兴趣.

scala map folding scala-collections

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

如何按其值对scala.collection.Map [java.lang.String,Int]进行排序?

你如何按其值(在Int上)对scala.collection.Map [java.lang.String,Int]进行排序?什么是简短而优雅的方式呢?

sorting scala scala-collections

33
推荐指数
1
解决办法
2万
查看次数

Scala foldLeft在地图上

你如何使用Map.foldLeft?根据文档,它看起来像

foldLeft [B] (z: B)(op: (B, (A, B)) ? B) : B
Run Code Online (Sandbox Code Playgroud)

但我遇到了困难:

Map("first"->1,"second"->2).foldLeft(0)((a,(k,v)) => a+v )
Run Code Online (Sandbox Code Playgroud)

错误:不是合法的形式参数

错误指向k前面的空心括号.

scala scala-2.8 scala-collections

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

如何使用Java Swing实现可拖动选项卡?

如何使用Java Swing实现可拖动的选项卡?我想将标签拖放到不同位置以重新排列标签,而不是静态JTabbedPane.

编辑:Java教程 - 拖放和数据传输.

java user-interface swing tabs

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

Scala集合标准实践

来自一个Java背景,我已经习惯了处理集合的常见做法:显然会有异常,但通常代码看起来像:

public class MyClass {
  private Set<String> mySet;

  public void init() {
    Set<String> s = new LinkedHashSet<String>();
    s.add("Hello");
    s.add("World"); 
    mySet = Collections.unmodifiableSet(s);
  }
}
Run Code Online (Sandbox Code Playgroud)

我不得不承认,我对Scala中的众多选项感到有些困惑.有:

  • scala.List(和Seq)
  • scala.collections.Set(和Map)
  • scala.collection.immutable.Set(而且Map,Stack不是List)
  • scala.collection.mutable.Set(而且Map,Buffer不是List)
  • scala.collection.jcl

所以问题!

  1. 为什么List并且Seq在包中定义scala而不是 scala.collection(尽管实现Seq是在集合子包​​中)?
  2. 初始化集合然后冻结它的标准机制是什么(在Java中是通过包装来实现的unmodifiable)?
  3. 为什么某些集合类型(例如MultiMap)仅定义为可变?(没有不可改变的MultiMap)?

我读过Daniel Spiewak 关于scala集合精彩系列 …

java scala scala-collections

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