zoukankan      html  css  js  c++  java
  • Scala 槽点

    require

    def this(name: String, age: Int) = {
      this()
      require(name != null && !name.isEmpty, "name")
      require(age > 0, "illegal age")
      Preconditions.checkArgument(name != null && !name.isEmpty, "name required")  // 使用 guava 工具类,这行编译不过... 改写为下两种调用方式可通过
    // Preconditions.checkArgument(name != null && !name.isEmpty, "name required".asInstanceOf[Any])  
    // Preconditions.checkArgument(name != null && !name.isEmpty, "name required", null)
      setAge(age)
      setName(name)
    }
    
    

    什么鬼

    1. require

      • 函数签名: final def require(requirement: Boolean, message: => Any) ,注意第二个参数类型是一个函数
      • 以上栗子中调用了两次 require 函数,生成两个匿名对象...
    2. ambiguous reference to overloaded definition

      • 编译错误信息:
        Error:(44, 21) ambiguous reference to overloaded definition,
        both method checkArgument in object Preconditions of type (x$1: Boolean, x$2: String, x$3: Object*)Unit
        and  method checkArgument in object Preconditions of type (x$1: Boolean, x$2: Any)Unit
        match argument types (Boolean,String)
              Preconditions.checkArgument(name != null && !name.isEmpty, "name required")
        
  • 相关阅读:
    taotao-manager-web/pom.xml
    sublime使用说明
    taotao-manager-web(表现层),初始生成pom报错解决
    通用表空间
    InnoDB存储引擎结构介绍
    关于双主
    半同步复制
    基于gtid的复制
    多源复制和级联复制
    MySQL复制进阶
  • 原文地址:https://www.cnblogs.com/xsj24/p/11649402.html
Copyright © 2011-2022 走看看