我有一些与Liferay与hibernate交互相关的问题.我们出于某些原因希望从应用程序中消除此层.因此以下问题:
我知道Liferay与Hibernate打包在一起,使用Hibernate API简化了Liferay数据库中对数据的访问.
主要是我们基本上想要删除几乎所有我们目的不需要的东西.
PS:我找不到一个适当的链接来回答上面的问题,因此在这里.
我有一个不可变的列表,我需要在其中交换位置.这有什么简单的方法吗?
以下是我的代码:
def swap(i:Int, j:Int,li:List[T]):List[T]={
if(i>=li.size && j >=li.size)
throw new Error("invalie argument");
val f = li(i)
li(i) = li(j) //wont work
li(j) = f;//wont work
li;
}
Run Code Online (Sandbox Code Playgroud)
最初,我尝试将其转换为数组,更改位置,然后再将其转换为List.任何简单的方法?
在我的Javafx应用程序中,我有一个库.我想要做的是,只要文件夹中有可用的图像,就应该在屏幕上显示图像.
无论如何都要绑定Image
一个IamgeView
.就像任何其他字符串或属性一样?我可以拥有一个名为ImageProperty的东西,它将绑定到Image.因此,如果我更改ImageProperty中的图像,它将更新UI
在类中SeqLike.scala
有一个叫做reverse
反转序列的函数.例如它使List(1,2,3,4)
`List(4,3,2,1)
在源中,描述是:
def reverse: Repr = {
var xs: List[A] = List() //Line 1
for (x <- this)
xs = x :: xs
val b = newBuilder ////Line 4
b.sizeHint(this)
for (x <- xs)
b += x
b.result
}
Run Code Online (Sandbox Code Playgroud)
我不明白的是:Line(1-3)完成了这项工作.但是为什么它会创建一个新的构建器然后添加元素来返回.Just Line [1-3]就足够了
Scala 2.10似乎更新了对Either的理解.在2.10:
scala> val a = Right(5)
a: scala.util.Right[Nothing,Int] = Right(5)
scala> for {aa: Int <- a.right} yield {aa}
<console>:9: error: type mismatch;
found : Int => Int
required: scala.util.Either[Nothing,Int] => ?
for {aa: Int <- a.right} yield {aa}
^
Run Code Online (Sandbox Code Playgroud)
在2.9.3中,以上是可以的.
scala> val a = Right(5)
a: Right[Nothing,Int] = Right(5)
scala> for {aa: Int <- a.right} yield {aa}
res0: Product with Serializable with Either[Nothing,Int] = Right(5)
Run Code Online (Sandbox Code Playgroud)
只需在2.10中删除aa的类型即可轻松修复.但我想知道为什么行为会在2.9和2.10之间发生变化.
我有一个名为“语言”的自定义类,我想在 fxml 中定义它,例如:
<Language fx:value="getBundle">
</Language>
Run Code Online (Sandbox Code Playgroud)
语言Object
直接扩展而不是任何 JavaFX 组件。显然它抛出以下异常:
无法将 com.bl.commons.Language@69435 强制转换为 javafx.scene.Node 类
那么我该怎么做呢?我想要的是,我的大部分模态都在那个类中,我想直接调用Language
fxml 本身的方法和设置内容。如果这是不可能的,那么还有其他选择吗?
有一种模式一次又一次地重新出现,我无法完全理解它,例如下面的代码来计算isPrime
class S99Int(val start: Int) {
import S99Int._
def isPrime: Boolean =
(start > 1) && (primes takeWhile ( _ <= Math.sqrt(start) ) forall ( start % _ != 0 ))
}
object S99Int {
implicit def int2S99Int(i: Int): S99Int = new S99Int(i)
val primes = Stream.cons(2, Stream.from(3, 2) filter { _.isPrime })
}
import S99Int._
24 isPrime //returns false
Run Code Online (Sandbox Code Playgroud)
我不明白的是:primes
在filter
用途中isPrime
.但是再次def isPrime
使用相同的primes
元素.这不是一个无限循环,其中一件事问另一件事,然后那件事又一件事.虽然代码完美无缺.
首先,我有一个问题发现#::
Stream的方法.这得到了解决此.
现在我正在寻找下面的方法 Stream
def iterate[A](start: A, len: Int)(f: A => A): Stream[A]
Run Code Online (Sandbox Code Playgroud)
该流API有没有提到它.
其次在Scala Doc中,为什么不能在相同的父类本身中定义所有内部类.为什么用户必须单击c
左侧面板上的字符才能搜索Stream.consWrapper,直到他可以直接在文档中读取它Stream
?
我错过了什么吗?我是一个Scala新手(3个月),但如果一个新用户不能习惯它,大多数都无法做到.
在我的应用程序中,有4个面板.我需要将它们插入主面板,使用BorderLayout
.4个面板是......
这是我的代码......
add(imageLabel, BorderLayout.NORTH);
add(buttonPanel,BorderLayout.PAGE_START);
add(logScrollPane, BorderLayout.CENTER);
add(about, BorderLayout.PAGE_END);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,buttonPanel
消失了.我怎样才能达到我的需要?
我有一个类,它有一个对象数组作为它的实例变量.每个对象内部包含一个int
和一个struct
.但不知何故,对象被解构了.
即
class AllInput {
public:
int numProducts;
Product * products;
public:
AllInput(int _numProducts, Product * _products);
};
class Product {
public:
int sellingPrice; //Ri
struct DemandDistribution observationDemand; //C2i
public:
Product(
LucyDecimal _sellingPrice, //Ri
LucyDecimal _costPriceAssmbly);
};
Run Code Online (Sandbox Code Playgroud)
然后我有一个创建它的函数:
AllInput* in1() {
struct DemandDistribution * _observationDemand1 =
(DemandDistribution*) malloc(sizeof(DemandDistribution));
// set values
Product * product1 = new Product(165,_observationDemand1);
//initialize product2, product3, product4
Product products[4] = { *product1, * product2, *product3, *product4};
AllInput* all = new AllInput(4, products); …
Run Code Online (Sandbox Code Playgroud)