问题标签 [classtag]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 为抽象类型隐式获取 ClassTag
我正在尝试隐式获取 ClassTag。我有以下特点:
有没有办法ClassTag
隐式地通过类型变量声明而不显式指定它?
问题是我正在努力使代码尽可能易于客户使用。
scala - Scala 映射到案例类的转换
我正在尝试使用 Scala 反射(Scala 2.11)将 Scala Map[String, Any] 转换为案例类,如下所示 -
不幸的是,这会导致编译错误 -
我对使用 ClassTags 相当陌生,我知道这个错误主要是因为 java.lang.Object 是 Any 的子集,并且 Any 可能包含非 java 对象。
当我尝试用 AnyRef(对应于 JRE 中的 java.lang.Object)替换 Any 时,函数调用会导致类型不匹配错误。
解决此错误的最佳方法是什么?建议表示赞赏。谢谢!
更新 1 - 更新 this 以将 Any 隐式转换为 AnyRef 会导致函数调用出现错误“java.util.NoSuchElementException”。
我在这里做错了什么?
scala - json4s JValue scala classTag 工作错误
在我的代码中,我classTag[JValue]
想获取org.json4s.JsonAST.JValue,但实际上它返回org.json4s.JsonAST$JValue,这很奇怪!为什么有$?我是使用scala的新手,有人可以回答我吗?多谢
scala - Scala、ClassTag 和 Guice:注入构造函数时出错,java.lang.StackOverflowError
在我的 Play 2 应用程序中,我需要在由 Guice 实例化的类中创建一个类标记(作为一个急切的单例;这是一个要求)。
这是 Guice 绑定:
当应用程序启动时,我收到以下异常:
CreationException: Unable to create injector,看到如下错误:
1) 在 Module.configure(Module.scala:64) 的 account.eventlistener.AccountRoleUpdater.(AccountRoleUpdater.scala:45) 处注入构造函数 java.lang.StackOverflowError 时出错(通过模块:com.google.inject.util.Modules$ OverrideModule -> 模块)同时定位 account.eventlistener.AccountRoleUpdater
1 错误] 在 play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:186) 在 play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:124) 在 play.core。 server.AkkaHttpServer.modelConversion(AkkaHttpServer.scala:183) at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:189) at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$3(AkkaHttpServer.scala:106)在 akka.stream.impl.fusing.MapAsync$$anon$23.onPush(Ops.scala:1172) 在 akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:499) 在 akka.stream.impl.fusing .GraphInterpreter.processEvent(GraphInterpreter.scala:462) at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:368) at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:571) Caused by: com.google.inject.CreationException: Unable to create injector,看到如下错误:
1) 在 Module.configure(Module.scala:64) 的 account.eventlistener.AccountRoleUpdater.(AccountRoleUpdater.scala:45) 处注入构造函数 java.lang.StackOverflowError 时出错(通过模块:com.google.inject.util.Modules$ OverrideModule -> 模块)同时定位 account.eventlistener.AccountRoleUpdater
在 com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184) 在 com.google.inject.internal.InternalInjectorCreator 的 com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) 出现 1 个错误.build(InternalInjectorCreator.java:110) 在 com.google.inject.Guice.createInjector(Guice.java:99) 在 com.google.inject.Guice.createInjector(Guice.java:84) 在 play.api.inject。 guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185) at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:137) at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)在 play.core.server.DevServerStart$$anon$1.$anonfun$reload$3(DevServerStart.scala:174) 在 play.utils.Threads$。withContextClassLoader(Threads.scala:21) 原因:java.lang.StackOverflowError: null at account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) at account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) at account .eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) 在 account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) 在 account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) 在 account.eventlistener.AccountRoleUpdater。 ct(AccountRoleUpdater.scala:21) at account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) at account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala:21) at account.eventlistener.AccountRoleUpdater.ct(AccountRoleUpdater.scala :21) 在 account.eventlistener。AccountRoleUpdater.ct(AccountRoleUpdater.scala:21)
这似乎是一个周期性的参考。
scala - A 没有可用的 ClassTag - 但存在隐式参数
使用 scala 2.12.4 我无法让这段代码工作,因为它说
[错误] .../src/main/scala/effect.scala:32:11:A 没有可用的 ClassTag
[错误] 效果(效果定义)
[错误] ^
[错误] 发现一个错误
[错误] (compile:compileIncremental) 编译失败
这是(简化的)代码。我需要类标签的原因是稍后在代码中进行过滤(installEffect)。
ps:是用法
很坏?我无法绕过那个演员
scala - Scala从类实例中获取类标签
我需要编写一个通用方法来获取对象的所有字段及其值,该对象的类可能包含ClassTag,所以我们也应该找到一种方法来获取它,有什么好的方法吗?困难是我们不知道前面的类,它可能包含 ClassTag(从零到多个),也可能不包含。
例如,
我们应该输出 x => 1
我们应该输出 _$1 = Float
scala - 榕树配置加载通用
加载榕树配置,如
失败:
当而是直接指定一个案例类而不是T
ieSomeClass
它工作得很好。我在这里想念什么?
scala - scala T 不是一个类
我有这样的方法:
和一堂课
当从SparkBaseRunner
类中调用第一个方法时
编译错误是:
我能做些什么来解决这个与泛型相关的问题?
scala - 将scala列表转换为数组
当我尝试这样做时,它工作正常
但我试图理解幕后发生的隐含意义。toArray 的签名是
任何关于正在发生的事情的解释都会很高兴知道。
scala - 如何在Scala中初始化类型变量?
我是scala的新手,很抱歉这个愚蠢的问题。我想从这个 Scala 代码中删除返回语句(我的实际情况比这复杂得多)
这就是为什么我要存储 Type 实例的返回值,如下所示:
上面的解决方案无法编译。我怎样才能为 type 初始化变量Type
?