给定一个函数f
,如果给定一个映射[String,MyType]
,则返回一个hlist
:
package net
import shapeless._
sealed trait MyType
case object MyInt extends MyType
case object MyStr extends MyType
object Mapper {
def f(m: Map[String, MyType]): HList = m.foldLeft[HList](HNil){ (acc, elem) =>
val (key, t) = elem
t match {
case MyInt => classOf[Int] :: acc
case MyStr => classOf[String] :: acc
}
}
}
import net._
val list = Map("foo" -> MyInt, "bar" -> MyStr)
scala> Mapper.f(list)
res0: shapeless.HList = class java.lang.String :: int :: HNil
如何使用上述方法(或另一种方法)构建一个case类
,其成员与String
键匹配,并与f
输出给出的类型匹配?
所以,我在找:
g(Map(“foo”->MyInt,“bar”->MyStr))
输出用类X(foo:Int,bar:String)
,其中X
是任意选择的,即在这一点上不重要。
我想到了使用generic[X]
,但我不知道如何在没有case类
的情况下首先获得一个generic
。
您试图做的事情在Scala中不可能发生编译时验证。这里的问题正如您所阐述的那样,您没有试图预先构建的case class
的定义。该定义提供了使用record
类型构造同构的框架。
话虽如此,我们也许可以使用调用动态和反射,但我不清楚如何在代码中利用这些功能。您不会事先知道字段名称,也不会知道它们的类型。那么,如何围绕它们编写代码呢?
异常:“字符串”类型不是“映射”类型的子类型 这是上面的json,我只想把它放在用户pojo类中的[data]。 但它抛出了上述异常类型。 用户Pojo类 为了清晰起见,我推荐了这个中等规模的网站 但在4个多小时的静脉注射中,我不知道发生了什么。如果要更改用户。从()到字符串,然后就可以了。但我需要将[data]从json解析到用户pojo类。
我们有JAVA gradle avro插件(davidmc24/gradle avro-plugin)生成施玛篇,并使用默认的stringType字符串,它将生成JAVA POJO如下: 然后我们使用相同的avdl文件来生成C#包,我们的解决方案是首先用avro-tools-1.9.1.jar生成avsc文件,这样就会生成avsc 我们有一个C#producer和java consumer,在这种
我的REST控制器需要以下格式的请求输入,它成功地将其转换为包含映射和字符串作为参数的Java对象: 我从html表单中获取数据,如下所示: 基本上,这段代码可以归结为: 这会导致包含{key1=的映射 但是,我最终会得到以下字符串:'{"myMap":{},"String":"myString"}'。所以我可能必须做一些不同的事情来对地图进行字符串化,但是我尝试的都不起作用。 有人能帮我吗?
我正在使用插件从文件生成源代码。问题是生成的是而不是。我添加了文件,该文件如下所示: 这应防止生成。但它不起作用我仍然生成了而不是。 我的插件如下所示: 版本为。有人知道问题出在哪里吗? XSD非常庞大。这是生成的元素 生成的源是:
问题内容: 作为我们应用程序的一部分,我们需要开发一个采用XSD模式并给出示例XML的模块。XSD模式将在运行时提供。那么,有没有可以完成这项工作的Java API? 搜索了这个论坛,发现了以下类似问题。但是讨论围绕从XSD生成示例XML的工具。找不到对API的任何引用。 如何从其DTD或XSD 工具生成样本XML文档,从XSD生成XML文件,以测试 XML实例生成从XML架构- XSD 问题答案
本文向大家介绍java long转String +Codeforces110A案例,包括了java long转String +Codeforces110A案例的使用技巧和注意事项,需要的朋友参考一下 long转String常用的两种方法: 代码实例(codeforces 110A): 补充知识:java string类型和long类型之间的转换以及获取当前时间 1、获取当前的时间 2、把字符串类型