`
suoyihen
  • 浏览: 1362030 次
文章分类
社区版块
存档分类
最新评论

获取数组的固定长度的子数组

 
阅读更多
在工作当中,经常会碰到求一个给定数组的固定长度的子数组,比如给定一个Object类型的array[],并且给定startIndexInclusive和endIndexExclusive,这两个参数分别表示从给定数组的哪个位置开始取,endIndexExclusive表示取到此位置为止,并且不能包括array[endIndexExclusive]这个值。首先我们得判断array[]是否为空,如果为空直接返回null,继而要判断startIndexInclusive是否小于0,如果小于0则将0赋值给startIndexInclusive,接着要判断endIndexExclusive是否大于array.length,如果是则将array.length赋值给endIndexExclusive。接着我们要定义子数组的长度为endIndexExclusive-startIndexInclusive。因为我们给定的数组类型是Object类型的,这里要取得具体的array的类型,使用Class type = ((Object) (array)).getClass().getComponentType();来获得具体的数组类型。现在要判断定义出来的子数组长度是否为大于0,如果不是则使用Object emptyArray[] = (Object[]) Array.newInstance(type, 0);来构造一个长度为0类型为type的新数组,并且返回这个新数组。如果大于0则使用Object emptyArray[] = (Object[]) Array.newInstance(type, endIndexExclusive-startIndexInclusive);来构造一个固定长度的新数组,之后使用System.arraycopy(((Object) (array)), startIndexInclusive,((Object) (subarray)), 0, newSize);来讲就数组中的值拷贝到新数组固定位置上并返回这个数组。当然如果我们传入的数组类型不是Object的,而是具体的八种原生类的包装类的类型,则不需要上面获得具体数组类型的步骤。
分享到:
评论

相关推荐

    超实用c#按字节截取长度(原创)

    然后获取这50个字符的字节数。 当50个字符=100个字节时,则直接返回结果。如果还不到100个字节,则继续用SubString方法截取 (100-(50个字符的字节数))/2 的字符。如此循环直到剩下的字节数为1 或者0的时候,则...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    获取字符串长度.asp 第13章(/14/) Matches集合与Macth对象.asp 指定忽略大小写.asp 获取Matches集合.asp 进行正则匹配替换.asp 进行正则匹配检验.asp ...

    8、 Go内建容器:数组、切片和容器

    arr3:=[...]int{2,4,6,8,10}//未定义长度,直接赋值,[...]为固定格式,无.为切片 var grid [4][5]int//定义一个二维数组 遍历一个数组 使用range,语法更加简洁明了 for i:=0;i<len(arr3);i++{ fmt.Println...

    1如何将证书嵌入式代码中.pdf

    最后通过下面2个数组来获取证书数据和长度。 extern const uint8_t server_root_cert_pem_start[] asm("_binary_server_root_cert_pem_start"); extern const uint8_t server_root_cert_pem_end[] asm("_binary_...

    structures-and-algorithms:出于个人教育目的,用Java实现了重要的数据结构和算法

    可能是最基本的数据结构,通过分配内存的array-length * element-length地址将数组实例化为固定长度。 所有元素的长度必须相同,并且可以通过index在地址array-offset + index * element-length处检索项目。 多维...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    《明解C语言 第3版 入门篇》图文并茂,示例丰富,第3版从190段代码和164幅图表增加到205段代码和220幅图表,对C语言的基础知识进行了彻底剖析,内容涉及数组、函数、指针、文件操作等。对于C语言语法以及一些难以...

    Excel VBA实用技巧大全 附书源码

    01001获取Excel版本 01002获取Excel的安装路径 01003获取当前用户名称 01004获取注册组织名称 01005获取当前操作系统的名称和版本号 01006获取启动Excel的路径 01007获取打开Excel文件时的默认路径 01008获取模板...

    VBSCRIPT中文手册

    Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,执行正则表达式的搜索。 Execute...

    vb Script参考文档

    Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,执行正则表达式的搜索。 Execute...

    VBScript 语言参考

    Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,执行正则表达式的搜索。 Execute...

    VBScript 语言参考中文手册CHM

    Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,执行正则表达式的搜索。 Execute...

    VBSCRIP5 -ASP用法详解

    Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,执行正则表达式的搜索。 Execute...

    疯狂JAVA讲义

    7.4.3 固定长度的List 266 7.5 Queue接口 266 7.5.1 LinkedList实现类 266 7.5.2 PriorityQueue实现类 269 7.6 Map 270 7.6.1 HashMap和Hashtable实现类 271 7.6.2 SortedMap接口和TreeMap实现类 276 7.6.3 ...

    vue语法.rar

    作用:判断是否加载固定的内容,如果是真,就加载,如果是假,就不加载; 语法:v-if='判断表达式' v-show 作用:判断是否显示内容 语法:v-show='判断表达式' v-if和v-show的相同点和不同点 1.相同点:...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例134 获取数组当前的键名和值 162 实例135 检测数组中是否存在某个值 163 实例136 获取数组中的当前单元 164 实例137 从数组中随机取出元素 165 实例138 合并数组 166 实例139 拆分数组 167 实例140 遍历数组 168...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例134 获取数组当前的键名和值 162 实例135 检测数组中是否存在某个值 163 实例136 获取数组中的当前单元 164 实例137 从数组中随机取出元素 165 实例138 合并数组 166 实例139 拆分数组 167 实例140 遍历数组 168...

    Excel VBA与数据库整合应用范例精讲

    11.5.4 生成固定资产折旧表子模块的设计 11.5.5 编制折旧费用分配表子模块的设计 11.6 系统菜单转换模块的设计 11.6.1 恢复Excel系统菜单 11.6.2 恢复固定资产管理系统自定义菜单 11.7 为工作簿指定Open和...

    OLAP存储和分析系统Pinot.zip

    关键特性:面向列的数据库,提供多种压缩模式,如运行长度、固定比特长度可插入式的索引技术,包括可排序索引、Bitmap 索引和反向索引可根据查询和段元数据对查询和执行进行优化近乎实时的从 Kafka 获取数据,以及...

    Android静默安装常用工具类

    随机数工具类,可用于获取固定大小固定字符内的随机数,如: getRandom(char[] sourceChar, int length) 生成随机字符串,所有字符均在某个字符串内 getRandomNumbers(int length) 生成随机数字 源码可见RandomUtils...

    Excel VBA与数据库整合应用范例精讲书及源代码

    11.5.4 生成固定资产折旧表子模块的设计 11.5.5 编制折旧费用分配表子模块的设计 11.6 系统菜单转换模块的设计 11.6.1 恢复Excel系统菜单 11.6.2 恢复固定资产管理系统自定义菜单 11.7 为工作簿指定Open和...

Global site tag (gtag.js) - Google Analytics