Scala通過implict給現有類新增方法

2021-09-29 20:35:45 字數 701 閱讀 9360

scala中implict的一種用法就是擴充套件現有類的方法,有點類似於.net中的擴充套件方法(ms對擴充套件方法的介紹:擴充套件方法使你能夠向現有型別「新增」方法,而無需建立新的派生型別、重新編譯或以其他方式修改原始型別。)

scala中有兩種方式做到方法的擴充套件,以擴充套件string為例:

第一種(code:10-12,29):建立乙個以implict修飾的新類並以string型別入參。在新的型別(**中是mystring)中新增要擴充套件的方法(read2)

第二種(code:3-5,9,28): 建立乙個以implict修飾的方法並以string型別入參,方法中建立乙個物件(**中是richstring),該物件中包含要擴充套件的方法(read)

implict另一種用法是定義乙個隱含的方法引數:code27行只傳入乙個引數,方法的另乙個引數則取之code 8行。這種用發的前提是方法的引數必須有用implict修飾(code 17),才可以使用使用前面定義的隱含引數(code 8)

**和執行結果如下:

Scala中使用implict 擴充套件現有類的方法

scala中implict的一種用法就是擴充套件現有類的方法,有點類似於.net中的擴充套件方法 ms對擴充套件方法的介紹 擴充套件方法使你能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。scala中有兩種方式做到方法的擴充套件,以擴充套件string為列 第一...

Scala中使用implict 擴充套件現有類的方法

scala中implict的一種用法就是擴充套件現有類的方法,有點類似於.net中的擴充套件方法 ms對擴充套件方法的介紹 擴充套件方法使你能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。scala中有兩種方式做到方法的擴充套件,以擴充套件string為列 第一...

scala通過jdbc操作kudu

val driver com.cloudera.impala.jdbc41.driver val url jdbc impala class.forname driver val client drivermanager.getconnection url 注意 sql語句後面新增分號,估計是imp...