草庐IT

scala-option

全部标签

java - 如何向上转换 Java 8 Optional 中包含的对象?

在使用Optional对象时是否有一种有效的方法来执行向上转换。这是一个示例代码:classA{}classBextendsA{}Bfunc(){//dosomethingreturnnewB();}Optionalfunc2(){//dosomethingreturnOptional.of(newB());}main(){Aa=func();//UpcastingworksfineBb=func();//UpcastingworksfineOptionalb=func2();//1.WorksfineOptionala=func2();//2.Howtomakethiswork?}(

java - 在 Scala 中实现具有原始类型的方法

我在Scala中使用DroolsPlanner(用Java编写)时遇到问题。Droolsplanner中的一个接口(interface)声明为:publicinterfaceScoreextendsComparable然而,另一个接口(interface)使用“Score”作为原始类型:publicinterfaceSolution{ScoregetScore();然后我想在Scala中实现这个接口(interface):classMySolutionextendsSolution{defgetScore:Score=...我得到一个编译错误:Scala编译器不允许只写'defgetS

java - 为什么我不能从 Scala 访问在实现 Java 接口(interface)的类中声明的变量?

在Java中,我有一个实现接口(interface)的类:AlertDialogimplementsDialogInterface如果在接口(interface)内部声明了一些变量,我可以访问它们:AlertDialog.BUTTON_POSITIVE但在Scala中,上面的行无法编译。好像是隐藏的一样。有没有什么方法可以在Scala中访问这些变量而无需创建新对象或做任何其他hacky? 最佳答案 稍微提供更多细节:无法访问这些内容的原因是George正在谈论在接口(interface)上定义的静态成员。Scala没有静态成员——相

java - java.util.Iterator.remove() 方法是 'optional operation' 是什么意思?

我试图从Iterator对象中过滤特定元素,我可以通过iterator.remove()方法删除错误元素。这是我的方法stub:privatestaticIteratorprocess(Iteratoriter,Perp){while(iter.hasNext()){Ao=iter.next();if(p.per(o)){iter.remove();}}returniter;}我可以删除不相关的元素,但是当我查看Iterator.reomve()的javaapi时,它说:voidremove():Removesfromtheunderlyingcollectionthelastelem

java - Scala while 循环赋值

我正在尝试将一些Java代码移植到Scala中:while((j=f('blah'))>=0)...错误:“值>=不是单元的成员”这不可能吗? 最佳答案 在Scala中赋值返回()(unit)。但这没关系,因为您可以将代码块放在任何地方。你需要这个:while({j=f("blah");j}>=0)... 关于java-Scalawhile循环赋值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

java - 如何将 java.util.List[java.lang.Double] 转换为 Scala 的 List[Double]?

我想以高效的方式将Javadouble列表(java.util.List[java.lang.Double])转换为Scaladouble列表(List[Double])。目前,我正在对列表进行映射,将每个double值转换为Scaladouble值。我不想映射每个值,而是正在寻找一种更有效的方法。importcollection.JavaConversions._importcollection.mutable.Buffervalj:java.util.List[java.lang.Double]=Buffer(newjava.lang.Double(1.0),newjava.lan

java - scala/java 是否有类似 Python 中的 StringIO 的东西?

我想知道java/scala是否具有“可以充当文件的字符串对象”作为python中的StringIO?我认为这比写入和读取大量临时文件要好。我更喜欢scala,但java也应该没问题。 最佳答案 我相信StringWriter正是您要找的。 关于java-scala/java是否有类似Python中的StringIO的东西?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8263

java - 如何将 Java 列表与 Scala 的 foreach 一起使用?

这个问题在这里已经有了答案:IteratingoverJavacollectionsinScala(9个回答)关闭9年前。我尝试使用asInstanceOf将java列表转换为Scala列表但没有成功,因为我从android调用返回的列表是java列表。valapList=(wfm.getScanResults:java.util.List[ScanResult])希望这样做,以便我可以在forcomprehension中使用(新Scala)列表,因为它似乎不喜欢在此构造中使用java列表,这会给我一个错误。valueforeachisnotamemberofjava.util.Lis

java - sbt 构建失败-找不到模块 : org. scala-sbt#sbt;0.13.5

我试图为现有的Scala项目调整sbtbuild但没有成功,该项目以前工作正常但留下了任何文档。似乎替换了不正确的URL来解决“sbt.jar”的依赖关系......在my_project目录内:earapplication.xmlweb-logic-application.xmlprojecttargetconfig-classes*.classsrcmainjavapackage(java-utils)scalapackage(scala)my_app.propertiesspring.xml...webappWEB-INFweb.xmltestscalaresourcesbuil

java - 将 Java 数组传递给 Scala

虽然我已经使用Scala一段时间并且之前将它与Java混合使用,但我遇到了一个问题。如何将Java数组传递给Scala?我知道反过来也很简单。然而,从Java到Scala并非如此。我应该在Scala中声明我的方法吗?这是我正在努力实现的一个小例子:斯卡拉:defsumArray(ar:Array[Int])=...Java:RandomScalaClassName.sumArray(newint[]{1,2,3});这可能吗? 最佳答案 绝对!Scala中的Array[T]类被直接映射到Java类型T[]。它们在字节码中的表示完全相