小编Pri*_*osK的帖子

Java 静态类成员和 Scala 互操作性

来自Scala 编程语言概述,第二版

// Scala
object PrintOptions {
    def main(args: Array[String]): Unit = {
        System.out.println("Options selected:")
        for (val arg <- args)
            if (arg.startsWith("-"))
                System.out.println(" " + arg.substring(1))
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,Scala 程序调用方法startsWithsubstringof String,它是在 Java 中定义的一个类。它还访问outJava 类的静态字段System,并调用其(重载)println方法。即使 Scala 没有静态类成员的概念,这也是可能的。事实上,每个 Java 类在 Scala 中被视为两个实体,一个包含所有动态成员的类和一个包含所有静态成员的单例对象。

我理解将 Scala 的伴随对象转换为 Java 字节码,但我不确定对于相反的示例(从 Java 到 Scala),上块引用中的粗体文本“在 Scala 中看到”究竟是什么意思。

这是否意味着具有静态成员的 Java 类在 Scala 中实际上被转换或解释为两个实体?或者我的两个假设都是错误的?

java scala scala-java-interop

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

展平相同类型的嵌套列表

假设我想要展平相同类型的嵌套列表...例如

    ListA(Element(A), Element(B), ListA(Element(C), Element(D)), ListB(Element(E),Element(F)))
Run Code Online (Sandbox Code Playgroud)

ListA包含相同类型的嵌套列表(ListA(Element(C), Element(D)))所以我想用它包含的值替换它,所以上面示例的结果应如下所示:

ListA(Element(A), Element(B), Element(C), Element(D), ListB(Element(E),Element(F)))
Run Code Online (Sandbox Code Playgroud)

当前类层次结构:

abstract class SpecialList() extends Exp {
    val elements: List[Exp]
}

case class Element(name: String) extends Exp

case class ListA(elements: List[Exp]) extends SpecialList {
        override def toString(): String = "ListA("+elements.mkString(",")+")"
}

case class ListB(elements: List[Exp]) extends SpecialList {
        override def toString(): String = "ListB("+elements.mkString(",")+")"
}

object ListA{def apply(elements: Exp*):ListA = ListA(elements.toList)}
object ListB{def apply(elements: Exp*):ListB = ListB(elements.toList)}
Run Code Online (Sandbox Code Playgroud)

我已经制定了三个有效的解决方案,但我认为必须有更好的方法来实现这个目标:

第一解决方案

def flatten[T <: SpecialList](parentList: T): …
Run Code Online (Sandbox Code Playgroud)

scala review pattern-matching

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

如何禁用ng-ng来检查ng-repeat中的项值(使用AngularJS)

ng-disabled在AngularJS ng-repeat指令内部工作时遇到问题.请参阅下面的代码.有人能让我知道我哪里出错吗?谢谢你的帮助!

注意:这只是一个小型的演示应用程序,所以请原谅硬编码数据等,我只是想学习AngularJS.

<div id="container" data-ng-app>
    <h1>Angular Toystore</h1>

    <p>Please browse the toystore catalog.</p>

    <div data-ng-controller="cartCtrl">
        <table>
            <thead><tr><td>Name</td><td>Price</td><td>Type</td><td>Stock Level</td><td>&nbsp;</td></tr></thead>
            <tbody>
                <tr data-ng-repeat="toy in toys">
                    <td>{{toy.name}}</td>
                    <td>${{toy.price}}.00</td>
                    <td>{{toy.type}}</td>
                    <td>{{toy.stocklevel}}</td>
                    <td><input type="button" value="Buy" data-ng-disabled="hasStock($index)" data-ng-click="addCartItem(toy)" /></td>
                </tr>
            </tbody>
        </table>

        <br /><br />

        <table>
            <thead><tr><td>Name</td><td>Price</td><td>Quantity</td><td>Subtotal</td></tr></thead>
            <tbody>
                <tr data-ng-repeat="cartitem in cartitems">
                    <td>{{cartitem.name}}</td>
                    <td>${{cartitem.price}}.00</td>
                    <td>{{cartitem.quantity}}</td>
                    <td>${{cartitem.subtotal}}.00</td>
                    <td><input type="button" value="Remove" data-ng-click="deleteItem($index)" /></td>
                </tr>
                <tr>
                    <td><b>Total:</b></td><td><b>${{carttotal}}.00</b></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
                </tr>
            </tbody>
        </table>
    </div>

</div>

<script type="text/javascript">
    function cartCtrl($scope) {
        $scope.carttotal = 0;
        $scope.cartitems = [];

        $scope.toys = [ …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive

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

jQuery推迟了

我是jquery deferreds的新手.这里有一个简单的例子.

任何人都可以告诉我为什么在完成其他功能之前触发完成功能("现在是我的时间")?

这个例子中的人也创建了一个延迟对象并返回一个promise,
我也是如此.我如何更改我的小例子才能在6秒后(超时后)触发完成函数?

非常感谢
沃尔夫冈

jquery

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

如何返回随机字符串Arrray Java

我对Java很新,所以对大多数人来说这似乎太容易了......这完全错了吗?我的问题是如何编写一个方法selectRandom(String[] names),该方法从给定的数组中返回一个随机选择的名称.

应以相同的概率选择每个名称.

public static String selectRandom(String[] names)    
{    
    String num = names[0]; 
    int[]newArray = new int[names.length];
    for(int i =0; i<names.length;i++)
    {
      Random r = new Random();
      int ranNum= r.nextInt(names.length)+1;
      num = names[ranNum];
    }
    return num;  
}
Run Code Online (Sandbox Code Playgroud)

java

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

SlickGrid - 选择没有自定义控件的行

我需要应用程序中的功能,以允许用户单击行来选择行.另外,我想为Ctrl/ Shift+单击添加功能以选择一行.

我看到了示例,其中每个行都添加了复选框以选择行.我不希望将这样的复选框添加到应用程序中.

我遇到了一个已有一年的链接但似乎回答了我的问题http://groups.google.com/group/slickgrid/browse_thread/thread/96a5291161d41efa

这里有更好的办法吗?

jquery slickgrid

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

AngularJS将表达式传递给函数

在我的angularJS中,我正在使用ng-repeat迭代这样的评论.

<li class="item block-size" ng-repeat="comment in comments" >
                    <div class="header">
                        <span class="count">{{$index + 1}}</span>
                        <span class="people">3 <i class="icon-user icon-large"></i></span>
                        <span class="comments">5 <i class="icon-comments-alt icon-large"></i></span>
                        <span class="open"><a href="#conversation-modal" role="button"  ng-click="commentPopup({{comment.comment_id}})" ><i class="icon-external-link icon-large"></i>Onions</a></span>
                    </div>
<li>
Run Code Online (Sandbox Code Playgroud)

ng-click,我正在调用一个函数控制器调用commentPopup,这是假设采取电流注释ID.问题是它不适用于表达式.该函数如下所示:

$scope.commentPopup = function(comment_id) {

         alert(comment_id);

    };
Run Code Online (Sandbox Code Playgroud)

如果我做

commentPopup(1);
Run Code Online (Sandbox Code Playgroud)

有用.但如果我这样做

commentPopup({{comment.comment_id}})
Run Code Online (Sandbox Code Playgroud)

我不工作.任何人都可以告诉我如何将评论ID传递给这个函数?

javascript angularjs

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

Struts2自定义登录拦截器

有人可以解释我如何编写一个自定义登录拦截器来检查用户名,密码,并检查用户的有效日期是否大于当前日期.我是java编程和struts 2的新手......我真的很感激一步一步的信息.我通过手动jdbc连接获得用户名等信息...我有一个jndi设置.这也需要进行会话管理.

所以一步一步地使用以下代码示例会很好,

1)dao使用jndi从DB获取用户名等

2)具有会话感知的登录操作

3)拦截器

4)login.jsp

5)拦截器的struts.xml定义

6)task.jsp和task2.jsp(只有在用户登录时才能看到的内部页面)

谢谢!

java jsp struts2 java-ee

0
推荐指数
1
解决办法
4334
查看次数