Java中的包装类

什么是包装类?

所谓包装类,就是能够直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。


包装类

Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail
其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算。其余八种都有对应的基本类型。
BigInteger 支持任意精度的整数,
BigDecimal支持任意精度带小数点的运算。


包装类有以下一些用途:

1、集合不允许存放基本数据类型,故常用包装类
2、包含了每种基本数据类型的相关属性,如最大值、最小值、所占位数等
3、作为基本数据类型对应的类类型,提供了一系列实用的对象操作,如类型转换、进制转换等


基本类型与包装类型的区别:

1、在Java中,一切皆对象,但八大基本类型却不是对象。
2、声明方式的不同,基本类型无需通过new关键字来创建,而封装类型需new关键字。
3、存储方式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能高效的存取,封装类型需要通过引用指向实例,具体的实例保存在堆中。
4、初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型而定,比如int类型的初始值为0,boolean类型为false;
5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。
6、什么时候该用包装类,什么时候用基本类型,看基本的业务来定:这个字段允允许null值,就需要使用包装类型,如果不允许null值,,使用基本类型就可以了,用到比如泛型和反射调用函数,就需要用包装类!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DLL函数查看器是一款DLL函数查看工具,直接把DLL文件拖入列表查看即可。 1.将本程序快捷方式放入系统 "SendTo" 目录后,就可以右键文件"发送到"实现文件快速查看 2.按粘帖键(Ctrl+V)将剪辑板中字符串在列表中匹配查找 3.关于参数量的问题,由于猜解方法过于简单对于部分函数未从当前函数返回,而是"JMP"到别的函数 所以猜解可能会有错误,需要结合已知函数库或反汇编查看,另此方法对于cdecl调用函数无效 4.关于反汇编视图的"到首返回"如果勾选即表示仅反汇编到头一个RETN为止,否者将按照"DisAsm_MaxLine" 所指定的行数.生效方法参见说明细则12~13. 5.将PEID userdb.txt 放置到程序目录下可以实现查壳 6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器中使用 程序启动时会优先读取配置文件,如果文件不纯在则会访问注册表 8.如果你觉得这个美化窗口很浪费资源,可以打开注册表修改如下项值即可关闭 [HKEY_CURRENT_USER\Software\ViewApiList] "UI"=dword:00000000 9.如果你觉得反汇编影响了效率,可以打开注册表修改如下项值即可关闭 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm"=dword:00000000 10.如果想关闭查壳功能可以删除userdb.txt或注册表如下设置 [HKEY_CURRENT_USER\Software\ViewApiList] "CheckShell"=dword:00000000 11.在线查询接口可在注册表如下位置修改,{searchTerms}为保留关键字被作为替换函数名 [HKEY_CURRENT_USER\Software\ViewApiList] "WebSearch"="http://www.baidu.com/s?wd={searchTerms}&ie=utf-8" 12.是否仅反汇编到头一个返回,1.表示是,0表示否 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm_Retn"=dword:00000001 13.反汇编最大行数,即表示当前地址向后的长度,与函数实际长度无关.是否生效需要根据"DisAsm_Retn"设置 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm_MaxLine"=dword:000003e8 键盘快捷键说明: TAB(SHIFT+TAB) -- 视图焦点切换 CTRL+S -- 视图切换 CTRL+F -- 文字搜索 F3 -- 搜索下一个 CTRL+A -- 项目全选 CTRL+C -- 复制选中项目函数名称/汇编代码 CTRL+V -- 将剪辑板中的字符在视图中匹配搜索 ALT+← -- 反汇编视图上一次跳转的后退 ALT+→ -- ... 前进 Application -- 弹出右键菜单(右WIN键和右CTRL键中间的那个键)
### 回答1: c 调用 dll demo 是指使用 C 语言编写程序,调用一个动态链接库(DLL)示例。动态链接库是一种包含可供其他程序调用的函数和资源的文件。通过调用 DLL,C 程序可以使用 DLL 中提供的功能,实现各种功能扩展。 首先,我们需要使用 C 语言编写一个调用 DLL 的程序。在程序中,我们需要包含 DLL 的头文件,并声明需要调用的函数的原型。然后,我们通过调用 LoadLibrary 函数加载 DLL 文件,并使用 GetProcAddress 函数获取 DLL 中需要调用的函数地址。最后,我们可以通过调用获取的函数地址来调用 DLL 中的函数。 例如,我们创建一个名为 main.c 的文件,其中包含以下代码: ```c #include <stdio.h> #include <windows.h> typedef int (*MY_DLL_FUNC)(int); // 定义函数指针类型,用于存储 DLL 中的函数地址 int main() { HMODULE hDll = LoadLibrary("demo.dll"); // 加载 DLL 文件 if (hDll == NULL) { printf("无法加载 DLL 文件。\n"); return -1; } MY_DLL_FUNC myFunc = (MY_DLL_FUNC)GetProcAddress(hDll, "my_function"); // 获取函数地址 if (myFunc == NULL) { printf("无法找到函数。\n"); return -1; } int result = myFunc(10); // 调用函数 printf("DLL 函数返回值为:%d\n", result); FreeLibrary(hDll); // 释放 DLL return 0; } ``` 在上述代码中,我们加载了一个名为 demo.dllDLL 文件,并从中获取了名为 my_function 的函数的地址。然后,我们将参数 10 传递给 my_function,并打印其返回值。 编译并运行上述代码后,即可成功调用 DLL 中的函数,并获得对应的结果。这样,我们就实现了通过 C 调用 DLL 的示例。 需要注意的是,实际的 DLL 文件中的函数名和参数类型可能会有所不同,需要根据具体情况进行修改。另外,在使用完成后,需要使用 FreeLibrary 函数释放已加载的 DLL。 ### 回答2: 调用dll demo 是指在编程中使用动态链接库(Dynamic Link Library)来实现某种功能。DLL是一种可供多个程序共享使用的库文件,其中包含一些函数和数据,通过调用这些函数可以实现一些特定的操作。下面是一个简单的调用dll demo的示例: 首先,我们需要确定要调用的dll文件的名称和路径。通常,dll文件需要与程序在同一目录下,或者在系统的搜索路径中。 接下来,在程序中引入dll文件。这可以通过使用import关键字或者使用专门的函数来实现。 然后,我们需要确定要调用的函数的名称和参数。我们可以通过查看dll文件的文档或者使用一些工具来获取这些信息。一旦确定了函数的名称和参数,我们就可以使用这个函数来实现我们想要的操作。 最后,我们需要在程序中调用dll函数。这可以通过使用函数名称和参数来实现。调用dll函数的过程中,我们需要注意参数的类型和顺序,确保和dll函数的定义一致,以免出现错误。 调用dll demo的过程中,我们需要注意一些问题。首先,确保dll文件的正确性和完整性,防止出现无法调用或者调用错误的问题。其次,我们需要合理处理dll函数返回的结果,以确保程序的正确运行。此外,还需要注意程序的兼容性和可移植性,以便在不同的平台和环境中都能够正常运行。 总之,调用dll demo 是一种常见的编程技术,通过使用动态链接库可以方便地实现一些功能。在使用过程中,我们需要明确dll文件的名称和路径,引入dll文件,确定要调用的函数参数,最后在程序中调用dll函数。同时,我们还需要注意dll文件的正确性和完整性,处理函数返回的结果,并保证程序的兼容性和可移植性。 ### 回答3: C 调用 DLL demo 是指在 C 语言中调用动态链接库(DLL)的示例程序。DLL 是一种包含可被共享和重复使用的代码和数据的文件,它可以被不同的程序同时使用,从而提高代码的重用性和灵活性。 在 C 语言中,调用 DLL 需要使用特定的函数和约定。首先,需要在程序中包含 DLL 的头文件,其中包含了 DLL 中导出函数的声明。接下来,在代码中使用提供的函数名来调用 DLL 中的函数。 具体的示例程序可能如下: ``` #include <stdio.h> #include <windows.h> // 声明 DLL 中的函数 typedef int (*AddFunction)(int, int); int main() { HINSTANCE hDll; // DLL的句柄 AddFunction add; // 对应 DLL 中的函数指针 // 加载 DLL hDll = LoadLibrary("demo.dll"); if (hDll != NULL) { // 获取 DLL 中的函数地址 add = (AddFunction)GetProcAddress(hDll, "Add"); if (add != NULL) { int result = add(3, 5); printf("The result is: %d\n", result); } else { printf("Failed to find the 'Add' function in the DLL.\n"); } // 卸载 DLL FreeLibrary(hDll); } else { printf("Failed to load the DLL.\n"); } return 0; } ``` 上述示例代码中,首先使用 `LoadLibrary` 函数加载 DLL,然后使用 `GetProcAddress` 函数获取 DLL 中的函数地址,再通过函数指针调用 DLL 中的函数。最后,使用 `FreeLibrary` 函数卸载 DLL。 当运行该示例程序时,会调用 DLL 中的 `Add` 函数,该函数接受两个整数参数并返回它们的和。程序输出结果为两个整数相加的和。 需要注意的是,上述示例中的函数名和参数类型需要根据实际情况进行修改。另外,确保 DLL 文件与程序在同一目录下或者可以通过正确的路径访问到它,以便成功加载 DLL

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值