首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

javaindexOf()基本使用

17         System.out.println("————————————————————————————————————————————————");         // 从指定位置开始查找...("————————————————————————————————————————————————");         // 查找所有“Day”出现位置并打印出来         pos =...s1.indexOf("Day");         while (pos !...            System.out.println(pos);             // pos++;             pos += "Day".length();//优化了运算,跨过“day”3...//从指定字符串下标位置开始从后往前返回值         pos = s1.lastIndexOf("good");         System.out.println(pos);

1.3K20

Kotlin常用及其使用

一、构造函数和初始化块 1.初始化块 2.主构造函数 3.次构造函数 4.他们之间联系 二、属性 1.属性声明 2.避免递归调用幕后字段 三、常用 一、构造函数和初始化块 1.初始化块 代码初始化工作由它负责...,在调用主构造函数之前执行,这部分理论上可以进行任何工作,但建议初始化赋值可以放在这,其余最好由其他专门地方处理,采用init关键字 init{ println("ww cool") }...2.主构造函数 主构造函数只能由一个,初始化块相当于放在主构造函数无参函数,按顺序执行初始化块,这一点和传统面向对象编程主构造函数没有太大区别。...(name:String){ } 3.次构造函数 同样使用constructor关键字作为函数名,但它不能省略函数名,使用时需要调用主构造函数 class MyClass constructor...和getter,所以不用这么担心 三、常用 抽象 含有抽象方法称为抽象,这一点和java里面很像 内部类 使用inner关键字,可以访问内部类外属性 class outer{ val

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

kotlin数据重写setter getter正确方法

概述 在开发过程,经常会创建一些数据里,其没有任何逻辑功能,仅仅来用来保存数据。在Kolin,将这些统一称为数据,用关键字data标记。...函数对, toString() 函数, 输出格式 “User(name=John, age=42)” , componentN() 函数群, 这些函数与属性对应, 函数名数字 1 到 N, 与属性声明顺序一致..., copy() 函数 如果在该数据或者基重写了以上某个成员函数,将不会再自动推断,以重写为准。...前言 kotlin数据,由于其内部封装了getter和setter方法,极大地简化了我们编程代码,但同时其不能像java那样方便重写getter或者setter方法,也给大家造成了一定麻烦。...不用data class,使用常规class:不要拘泥于建议,谁说这些数据实体就必须要用data class使用IDE去自动生成,照样可以,而且还实现了自己完全控制。

3.8K10

Android数据库高手秘籍(十),如何在Kotlin更好地使用LitePal

比如使用Java查询song表id1这条记录是这样写: Song song = LitePal.find(Song.class, 1); 而同样功能在Kotlin却需要这样写: val song...这样的话也就不存在什么泛型擦除问题了,因为Kotlin在编译之后会直接使用实参替代内联方法泛型部分代码。 简单点来说,就是Kotlin是允许将内联方法泛型进行实化。...T.class这样语法在Java是不可能,而在Kotlin借助泛型实化功能就可以使用T::class.java这样语法了。...而通过刚才泛型实化部分讲解,我们知道Kotlin是可以使用T::class.java这样语法,因此我在LitePal 3.0.0扩展了这部分特性,允许通过指定泛型来声明查询哪张表内容。...想要删除song表id1这条数据可以这么写: LitePal.delete(1) 想要统计song表记录数量可以这么写: val count = LitePal.count<Song

3.1K30

何在Integer类型ArrayList同时添加String、Character、Boolean等类型数据

先来看看面试官描述: “如何在Integer类型ArrayList同时添加String、Character、Boolean等类型数据呢?” 看到这里,你是不是想到下面的代码?...在程序,通常不会自定义该类异常,而是直接使用系统提供异常。 看完了Java异常体系,我们知道上面代码出现异常编译时异常,是必须要处理,否则无法通过编译阶段,更不要谈运行了。...其中,参数parameter全限定名(即:包名+名),:com.cya.test.Test。...(不包括继承) 通过反射创建对象: java,除了使用new关键字创建对象外,也可以用newInstance()方法创建对象,例如: Class class1 = Class.forName("java.util.ArrayList...2、使用对象名.getClass()方法获取Class对象。 3、调用getMethod()方法获取指定Method。 4、调用invoke()方法将不同数据类型数据添加到list集合

2K20

Kotlin 范型之协变、逆变

(Class) 与类型(Type) Kotlin 和类型是不一样概念。 下图充分展示了它们区别。 ? class vs type.png 二. 型变 型变是指类型转换后继承关系。...2.1.3 @UnsafeVariance 但是,Kotlin List contains、containsAll、indexOf 和 lastIndexOf 方法,入参均出现了范型 E。...如果参数化类型是一个生产者,则使用 ;如果它是一个消费者,则使用 。 其中,生产者表示频繁往外读取数据 T,而不从中添加数据。...消费者表示只往里插入数据 T,而不读取数据。 2.2.2 Kotlin 关键词 in in相当于 Java 下界通配符。...2.3 不变 默认情况下,Kotlin 泛型是不变。 这意味着它们既不是协变也不是逆变。 例如 MutableList,它可读可写,泛型没有使用in、out。 三.

1.2K50

java集合(超详细)

EnumMap 和 EnumSet EnumMap和EnumSet是专门枚举类型设计集合。...迭代器模式则更安全,可以避免在遍历过程修改集合。Java 8流提供了一种强大数据处理方式,允许进行复杂操作,过滤、映射和聚合。...线程安全和并发集合 在多线程环境,线程安全是一个重要考虑因素。 非线程安全集合 标准集合ArrayList、HashMap等)不是线程安全。...设计模式中集合使用 在设计模式,集合经常被用来实现工厂模式、策略模式等。 工厂模式 使用集合存储不同类型对象,可以方便地实现工厂模式。...数据过滤和映射 使用Stream API可以轻松地对集合数据进行过滤和映射。

11110

面试官:如何在Integer类型ArrayList同时添加String、Character、Boolean等类型数据

1、问题描述 “如何在 Integer 类型 ArrayList 同时添加 String、Character、Boolean 等类型数据?” 你是不是想到下面的代码?...在程序,通常不会自定义该类异常,而是直接使用系统提供异常。 看完了Java异常体系,我们知道上面代码出现异常编译时异常,是必须要处理,否则无法通过编译阶段,更不要谈运行了。...这种方式是最常用,在各类框架配置文件可以看到,:Spring、SpringMVC、Mybatis 等等。...其中,参数 parameter 全限定名(即:包名+名),:com.cya.test.Test。...调用 invoke() 方法将不同数据类型数据添加到 list 集合

1.8K20

Java如何使用引用数据类型呢?

--------------------------------------- Java数据类型分类:   基本数据类型:48种。...注意:字符串、Lambda这两种引用数据类型后面会学习到。 --------------------------------------- Java如何使用引用数据类型呢?...如果希望使用引用类型”,那么典型用法一般步骤: 例如:使用JavaJDK已经写好扫描器 Scanner。 步骤1:导包。     指定需要使用目标在什么位置。...引用数据类型一般需要创建对象才能使用,格式数据类型 变量名称 = new 数据类型(); 例如:       Scanner sc = new Scanner(System.in);...需要使用什么功能,就点儿一个功能名称(方法名),格式: 变量名称.方法名(); 例如:     a:获取键盘输入int数字       int num = sc.nextInt()

3.2K10

Kotlin开发如何使用集合详解

对于那些处在技术前沿和喜欢 Kotlin 开发者来说,本篇文章和他们息息相关。所以,下面就让我们来看一下怎样在 Kotlin使用集合吧。 Kotlin集合是基于 Java 集合框架。...数据处理 Kotlin 中有一个拓展函数特性,这个特性可以使 Kotlin 标准库(stdlib)支持 JDK 方法。...但是由于 Android 工程师不能使用 Stream API,所以他们更多使用 RxJava 处理数据方法来解决这个问题。...然后,这种操作并不完全正确,原因在于:RxJava 是一个事件处理库,而不是数据处理。所以你现在可以使用 Kotlin 来解决这个问题而不必担心这些问题。...我们可以看到,我们在 Kotlin 几乎可以使用 Java CollectionsKT 所有方法.当然,也需要导入 java.util.* 。

2.6K10

声明右边也能写 by?Kotlin 接口委托是这么用

Java 委托模式 实际上 Kotlin 这种语法虽然比较新,但它背后设计模式是早就有了,叫做「委托模式」。...它可以让实现不用关心接口核心功能具体实现,而只要关注额外功能定制和扩展。什么意思?...我们再举个例子,比如对于 Java List 这个接口,我们可以用 ArrayList 和 LinkedList 这两个对它做出不同内部实现,去应对不同性能需求。...而如果我想给 List 接口定制额外功能,比如我想定制一个元素类型是 User List,让它有各种和用户相关功能,像「筛出高风险用户」、「按年龄重排」这样,那么我应该继承 ArrayList...也就是,我扩展出来功能对 ArrayList 和 LinkedList 都是适用。对吧?通过这种写法,我就可以对接口进行功能扩展,而不需要关心接口核心功能是怎么实现。很自由很方便。

11110

Kotlin学习之路(2)数据类型

Kotlin语言中,体部分 枚举 方法体,条件语句中条件执行体,与循环语句循环体也都放在代码块。 (2) 标识符规则 区分大小写:Myname 与 myname 是两个不同标识符。...在 Kotlin 语言中有两个由编译器定义特定标识符,它们只能在特定场景中使用有特定作用,而在其他场景可以做标识符使用。...字符串转为其他类型数据Kotlin与Java方式对比 (2)字符串常用方法 Kotlin方法基本兼容Java相关方法,比如查找指定位置字串indexOf方法,截取某指定位置字串方法substring...(0,text.indexOf(".")) } split方法使用,在javasplit返回是Sting数组,但是在Kotlinsplit返回则是Sting类型队列,List...在Kotlin也可以通过下标的方式获取对应元素,不过Kotlin要比Java多出两个方法 get set,通过get获取元素值,通过set方法修改元素值,感觉就像在操作ArrayList队列一样

75420

Kotlin 极简教程 》第5章 集合(1)

5.1 集合是什么 5.1.2 集合是一种数据结构 在讲 Kotlin 集合之前,为了更加深刻理解为什么要有集合,以及集合到底是怎么一回事,让我们先来简单回顾一下编程本质: 数据结构 +...顺序存储是使用元素在存储器相对位置来表示数据元素之间逻辑关系; 链式存储使用指示元素存储位置指针(pointer)来表示数据元素之间逻辑关系。 数据处理运算。...ADT加上继承、重载和多态性就是现代OOP编程范式概念了。我们简称广义ADT概念。...由于数组是连续存储,在操作数组数据时就可以根据离首地址偏移量直接存取相应位置上数据,但是如果要在数据任意位置上插入一个元素,就需要先把后面的元素集体向后移一位其空出存储空间。...5.4.3 使用JavaSetkotlin.collections下面的TypeAliases.kt,有一些类型别名定义如下: @file:kotlin.jvm.JvmVersion

2.7K20

Kotlin互操作——Kotlin与Java互相调用

⑤ NoArg和AllOpen 数据本身属性没有默认无参数构造方法,因此Kotlin提供一个NoArg插件,支持JPA注解,@Entity。...AllOpen是所标注去掉final,目的是为了使该类允许被继承,且支持Spring注解,@Componet;支持自定义注解类型,@Poko。...;协变和逆变由Javaextends和super变成了out和in,ArrayList;在Kotlin没有Raw类型,JavaList对应于Kotlin就是List<...【例4】首先使用Java创建一个SAMInJava,然后通过Kotlin调用Java接口。...④ 静态方法 Kotlin将包级函数表示静态方法。如果对这些函数使用@JvmStatic进行标注,那么Kotlin还可以为在命名对象或伴生对象定义函数生成静态方法。

3.7K10

Kotlin之“ArrayList

简介 ArrayList 可以理解是一个长度可变集合,在日常开发中使用也比较频繁,这里不写与javaArrayList区别,只单纯介绍KotlinArrayList。...创建一个被元素集合填充ArrayList ArrayList(elements: Collection) 参数 size 该集合大小 open val size: Int modCount...E) //将指定元素添加到集合 open fun add(element: E): Boolean addAll //将指定集合所有元素全部添加到该集合指定位置 open fun addAll...fun get(index: Int): E indexOf //返回该元素在集合第一次出现位置,如果不存在则返回-1 open fun indexOf(element: E): Int lastIndexOf...//与`indexOf`相似,返回该元素在集合中最后一次出现位置,如果不存在则返回-1 open fun lastIndexOf(element: E): Int remove //去掉该集合指定元素

2.2K20

你应该知道kotlin实用技巧

,直接调用setRoundRectBg即可,简单方便 reified使用 reified,kotlin泛型实化关键字,使抽象东西更加具体或真实。...reified,通过添加类型传递简化泛型参数 这样就不用手动传泛型类型过去了 Gson解析例子 我们首先看下一般我们使用gson解析json是怎么做 在Java序列化库(Gson),当您想要反序列化该...委托 举个例子,当我们要实现一个增强版ArrayList,支持恢复最后一次删除item 实现这个用例一种方式,是继承 ArrayList 。...由于新继承了具体 ArrayList 而不是实现 MutableList 接口,因此它与 ArrayList 实现高度耦合。...比如,本文提到 Kotlin DSL,我们 Kotlin DSL 做一个简单定义: “使用 Kotlin 语言开发,解决特定领域问题,具备独特代码结构 API 。”

1.5K10
领券