来自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 程序调用方法
startsWith和substringofString,它是在 Java 中定义的一个类。它还访问outJava 类的静态字段System,并调用其(重载)println方法。即使 Scala 没有静态类成员的概念,这也是可能的。事实上,每个 Java 类在 Scala 中都被视为两个实体,一个包含所有动态成员的类和一个包含所有静态成员的单例对象。
我理解将 Scala 的伴随对象转换为 Java 字节码,但我不确定对于相反的示例(从 Java 到 Scala),上块引用中的粗体文本“在 Scala 中看到”究竟是什么意思。
这是否意味着具有静态成员的 Java 类在 Scala 中实际上被转换或解释为两个实体?或者我的两个假设都是错误的?
假设我想要展平相同类型的嵌套列表...例如
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) 我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> </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> </td><td> </td><td> </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) 我对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) 我需要应用程序中的功能,以允许用户单击行来选择行.另外,我想为Ctrl/ Shift+单击添加功能以选择一行.
我看到了示例,其中每个行都添加了复选框以选择行.我不希望将这样的复选框添加到应用程序中.
我遇到了一个已有一年的链接但似乎回答了我的问题http://groups.google.com/group/slickgrid/browse_thread/thread/96a5291161d41efa
这里有更好的办法吗?
在我的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传递给这个函数?
有人可以解释我如何编写一个自定义登录拦截器来检查用户名,密码,并检查用户的有效日期是否大于当前日期.我是java编程和struts 2的新手......我真的很感激一步一步的信息.我通过手动jdbc连接获得用户名等信息...我有一个jndi设置.这也需要进行会话管理.
所以一步一步地使用以下代码示例会很好,
1)dao使用jndi从DB获取用户名等
2)具有会话感知的登录操作
3)拦截器
4)login.jsp
5)拦截器的struts.xml定义
6)task.jsp和task2.jsp(只有在用户登录时才能看到的内部页面)
谢谢!