小编use*_*425的帖子

在NetBeans中显示函数参数的快捷方式是什么?

例:

void Sandwich(string ham, string bread, int cheese){
...do stuff...
};
Run Code Online (Sandbox Code Playgroud)

当我输入三明治时(我需要查看所需的参数是什么.我该怎么做?

java parameters netbeans function shortcut

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

从种类中提取类型

我想提取一种类型,并用它来定义函数的返回类型。

例如。

让我们定义一个Container特征。

trait Container[T] {
  def contained: T
}
Run Code Online (Sandbox Code Playgroud)

让我们定义一个Extra特征,这样我们就可以从我们的容器中扩展它。

trait Extra[T] {
  def extra: T
}
Run Code Online (Sandbox Code Playgroud)

让我们定义一个特征ContainerExtractor

trait ContainerExtractor[T, C <: Container[T]] {
  def extract(container: C): T
}
Run Code Online (Sandbox Code Playgroud)

现在用户可以ContainerExtractor通过做来实现

new ContainerExtractor[String, Container[String] with Extra[Int]] {
  override def extract(container: Container[String] with Extra[Int]): String = ???
}
Run Code Online (Sandbox Code Playgroud)

还不错,虽然用户需要在里面声明Container两次类型! [String, Container[String] ... ]

为了解决这个重复问题,我试图通过重新定义ContainerContainerExtractor作为解决它

trait Container[T] {
  def contained: T
  final type Contained = T
}

trait …
Run Code Online (Sandbox Code Playgroud)

types scala traits higher-kinded-types type-alias

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