scalac: Error: C:\Users\ ڲ \AppData\Roaming\JetBrains\IdeaIC2022.2\plugins\Scala\lib\jps\compiler-interface-sources-2.11.jar (系统找不到指定的路径。)
java.io.FileNotFoundException: C:\Users\ ڲ \AppData\Roaming\JetBrains\IdeaIC2022.2\plugins\Scala\lib\jps\compiler-interface-sources-2.11.jar (系统找不到指定的路径。)
因为 Scala 编译器 scalac 找不到 compiler-interface-sources-2.11.jar 这个依赖包。
有两种解决方法:
(1)scala的数据类型自动判断
情景:方法/变量的声明
限制范围:
1.迭代函数
2.带名函数中的匿名函数声明时
def greeting(name: String) = {
def sayHello(name: String):String = {
return "Hello, " + name
}
sayHello(name)
}
(2)基本数据类型与与之照应的引用数据类型的转换:
scala中通过隐式转换可直接使用加强类型的方法
例子: 1.to(10) // int ——》 RichInt
java中必须显式
(3)Actor
Scala的Actor类似于Java中的多线程编程
(4)隐式转换
scala中允许你手动指定,将某种类型的对象转换成其他类型的对象
意义:是编程语言中继承关系的补充,更灵活
(5) object类型
1》与java中的静态概念相似,scala中用object 当做class的伴生类,将相应的 静态概念变量,静态块儿等进行存放
2》object类中有自己独特的 apply()方法,通常在里面定义主类的初始化
例如:
class Person()
object Person {
def apply() = new Person()
}
声明对象:val person = Person;
3》当成 scala中main方法的实现
4》可以定义枚举值
(6)类型参数
类似于java中的泛型扩展,扩展到父子关系,隐式转换关系,scala的内部函数,该类型的关联类等
详见《scala之类型参数》
(7)scala中的Traint
类似于java中的接口
不过它之中可以继承class,有自己的构造函数,动态混入,调用链等特性的融入导致功能更活用