随笔分类 - bigdata
java&scala
摘要:##### 判断数据类型 val str = new SimpleDateFormat("yyyy-MM-dd-HH").format(new Date) val datas = str.split("-") println(datas(0).isInstanceOf[String]) printl
阅读全文
摘要:seq,set,map特点 1.Seq,是一组有序的元素。2.Set,是一组没有重复元素的集合。3.Map,是一组k-v对。 Array array(不可变,可变);数据有序,可以放重复,不限制类型 | Array, ArrayBuffer Array ArrayBuffer 定义空:val arr
阅读全文
摘要:Scala Builder 引申:scala Builder设计模式 场景 1)当对象具有大量可选参数时。 2)当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 3)当构造过程必须允许被构造的对象有不同的表示时。 map map源码 //第一个参数,传入一个函数,第二个参数为隐式
阅读全文
摘要:map源码 //第一个参数传入一个函数,第二个参数为隐式参数,返回值和集合的类型一致都是B def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That = { //方法内部定义builder方法 def bu
阅读全文
摘要:集合介绍 Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质。对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本。 集合可变,不可变的区别 Scala默认提供的集合都是不可变。 不可变:增删改 都会返回有个新数组 可变:可增删改 可变: s
阅读全文
摘要:抽象类,方法,属性(不完整) Scala将一个不完整的类称之为抽象类 abstract class Person { } Scala中一个方法只有声明而没有实现,那么是抽象方法 // 子类重写父类的抽象方法,直接补充完整即可// 子类重写父类的完整方法,必须添加override关键字// 开发时,推
阅读全文
摘要:类基本语法:Scala中一个源文件中可以声明多个公共类 // 声明类:访问权限 class 类名 { 类主体内容 } class User { // 类的主体内容 } // 对象:new 类名(参数列表) new User() 类的属性 :在编译时,编译器会将变量编译为类的(私有的)属性,同时提供了
阅读全文
摘要:下划线的作用 1. 声明变量,但是不能访问 val _ = "AsianHarden" 2. 将函数作为整体使用 val f = fun _ 3. 使用import语法时,下划线可以代替星号 import java.util._ 4. 使用import语法时,下划线可以隐藏类 import java
阅读全文
摘要:集合&数组的区别 1)数组的长度是固定的。集合的长度是可变的。 2)数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致 集合分类 Collection和Map,Collection 表示一组对象,Map表示一组映射关系或键值对。 集合Collectio
阅读全文
摘要:Scala语言类型(同java) 静态,强,类型推断, 弱类型:(javascripte) > "1"+2 '12' 强类型:(java,scala,python) >>> "1"+2 TypeError: cannot concatenate 'str' and 'int' objects 动态类
阅读全文
摘要:成员变量:对应事物的属性 成员方法:对应事物的行为 成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。 成员方法:和以前写的main方法格式类似。只不过功能和形式更丰富了。在类中,方法外。 成员变量的分类 实例变量:也叫对象属性,属于某个对象的,通过对象来使用 类变量:
阅读全文
摘要:字符串 字符串是常量;它们的值在创建之后不能更改。因为 String 对象是不可变的,所以可以共享。 字符串的特点 1、字符串String类型本身是final声明的,意味着我们不能继承String。 2、字符串的对象也是不可变对象,意味着一旦进行修改,就会产生新对象 我们修改了字符串后,如果想要获得
阅读全文
摘要:内部类: 什么是内部类? 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。 内部类都有哪些形式? 1)成员内部类: 静态成员内部类 非静态成员内部类 2)局部内部类: 有名字的局部内部类 匿名的内部类 非静态成员内部类 【修饰符】 class 外部类{ 【修饰符】 cla
阅读全文
摘要:抽象类: 继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的 抽象类中,不一定包含抽象方法(可以有普通方法),但是有抽象方法的类必定是抽象类 抽象类的抽象方法主要作为模板使用 不能创建对象 多态 继承父类或者
阅读全文
摘要:抽象类 抽象方法 : 没有方法体的方法。 抽象类:被abstract所修饰的抽的类。 抽象类的语法格式 【权限修饰符】 abstract class 类名{ } 【权限修饰符】 abstract class 类名 extends 父类{ } 抽象方法的语法格式 【其他修饰符】 abstract 返回
阅读全文
摘要:类初始化 类被加载内存后,会在方法区创建一个Class对象(后面反射章节详细学习)来存储该类的所有信息。此时会为类的静态变量分配内存,然后为类变量进行初始化。那么,实际上,类初始化的过程时在调用一个<clinit>()方法,而这个方法是编译器自动生成的。编译器会将如下两部分的所有代码,按顺序合并到类
阅读全文
摘要:继承的格式 【修饰符】 class 父类 { ... } 【修饰符】 class 子类 extends 父类 { ... } 继承特点:成员变量 私有化(private) 父类中的成员,无论是公有(public)还是私有(private),均会被子类继承。 子类虽会继承父类私有(private)的成
阅读全文
摘要:static 是一个成员修饰符,可以修饰类的成员:成员变量、成员方法、成员内部类(后面讲)、代码块(后面讲)。被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了 静态方法 static修饰的成员方法,称为类方法、静态方法。 【其他修饰符】 stati
阅读全文
摘要:属性封装 将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问 属性封装的目的 隐藏类的实现细节 让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里面加入控制逻辑,限制对成员变量的不合理访问。 可以进行数据检查,从而有利于保证对象信息的完整性。 便于修改,提高代码的可维护性。 实现 使
阅读全文
摘要:可变参数 在JDK1.5之后,如果我们定义一个方法时,此时某个形参的类型可以确定,但是形参的个数不确定,那么我们可以使用可变参数。 修饰符 返回值类型 方法名(【非可变参数部分的形参列表,】参数类型... 形参名){ } 要求: (1)一个方法只能有一个可变参数 (2)可变参数必须是形参列表的最后一
阅读全文

浙公网安备 33010602011771号