小编Duc*_*Duc的帖子

Scala模式匹配Java枚举值

我有我的java枚举,例如:FOO("foo"),BAR("bar")...我有一个getValue()方法来返回值"foo""bar"枚举,这必须是Java.

另一方面,我必须在Scala中匹配:

result match {
  case "foo" =>
Run Code Online (Sandbox Code Playgroud)

我想做:

result match {
  case Enum.FOO.getValue() => 
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

method getValue is not a case class constructor, nor does it have an
unapply/unapplySeq method
Run Code Online (Sandbox Code Playgroud)

我不太清楚这里发生了什么,因为我的getValue()方法返回了一个String为什么我不能用它来进行模式匹配?谢谢

java regex enums scala pattern-matching

10
推荐指数
1
解决办法
6407
查看次数

将文件保存在服务器上,java web应用程序

从我的Web应用程序(vaadin)我生成XML文件,并希望将这些文件存储在服务器上.我做了:

context.getHttpSession().getServletContext().getRealPath("/");
Run Code Online (Sandbox Code Playgroud)

我在tomcat上运行web应用程序并设法将文件保存到app下的app文件夹中

.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/my_app_folder/
Run Code Online (Sandbox Code Playgroud)

与META-INF,WEB-INF和VAADIN文件夹处于同一级别.如果我想将文件保存在服务器存储上并将文件的路径保存在数据库中,我应该在哪里保存文件?谢谢

web-applications java-ee vaadin

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

蚂蚁建立执行科尔多瓦

我为我的cordova项目创建了一个Ant构建,如下所示:

<project default="build">
    <target name="init-android">
        <exec executable="cordova">
            <arg value="platform"/>
            <arg value="add"/>
            <arg value="android"/>
        </exec>
        <exec executable="cordova">
            <arg value="build"/>
        </exec>
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

C:\ path_to_project \ build.xml:3:执行失败:java.io.IOException:无法运行程序“ cordova”:CreateProcess错误= 2,系统找不到在java.lang.ProcessBuilder.start(ProcessBuilder。 org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Jav a13CommandLauncher.java:41)处java.lang.Runtime.exec(Runtime.java:615)处java:1029)

我可以从命令提示符下毫无问题地运行cordova命令,我有:

JAVA_HOME = C:/程序文件/Java/jdk1.7.0_10/ ANT_HOME = C:\程序文件\ Java \ apache-ant-1.9.2 NODEJS_HOME = C:\程序文件\ nodejs

他们全都在我的路上。我不明白为什么它不起作用。请帮忙。谢谢

windows ant cordova

3
推荐指数
1
解决办法
1556
查看次数

使用Option初始化Scala变量

我有这个scala案例类:

case class Foo
    (bar: String,
     original_bar: Option[String] = None)
Run Code Online (Sandbox Code Playgroud)

我想默认设置original_bar = bar(所以original_bar总是默认为Some(bar)),例如:

case class Foo
        (bar: String,
         original_bar: Option[String] = Some(bar))
Run Code Online (Sandbox Code Playgroud)

但我得到:没找到:价值吧,我也尝试了一些(Foo.bar)但没有运气.有没有办法在case类中设置默认值,或者我必须在初始化Foo对象时设置它?谢谢

scala

3
推荐指数
1
解决办法
947
查看次数