Android Studio 之 Intent及其参数传递
一、Intent
- 显式Intent:通过组件名指定启动的目标组件,比如startActivity(new Intent(A.this,B.class)); 每次启动的组件只有一个~
 - 隐式Intent:不指定组件名,而指定Intent的Action,Data,或Category,当我们启动组件时, 会去匹配AndroidManifest.xml相关组件的Intent-filter,逐一匹配出满足属性的组件,当不止一个满足时, 会弹出一个让我们选择启动哪个的对话框
 
1、点击按钮返回Home界面
Intent it = new Intent(); it.setAction(Intent.ACTION_MAIN); it.addCategory(Intent.CATEGORY_HOME); startActivity(it);
2、点击按钮打开百度页面
Intent it = new Intent();
it.setAction(Intent.ACTION_VIEW);
it.setData(Uri.parse("http://www.baidu.com"));
startActivity(it); 
二、Intent数据的传递

通过调用Intent的putExtra()方法存入数据,然后在获得Intent后调用getXxxExtra获得 对应类型的数据;传递多个的话,可以使用Bundle对象作为容器,通过调用Bundle的putXxx先将数据 存储到Bundle中,然后调用Intent的putExtras()方法将Bundle存入Intent中,然后获得Intent以后, 调用getExtras()获得Bundle容器,然后调用其getXXX获取对应的数据! 另外数据存储有点类似于Map的<键,值>!
1、Intent传递数组
 写入数组:bd.putStringArray("StringArray", new String[]{"呵呵","哈哈"});
 //可把StringArray换成其他数据类型,比如int,float等等...
 读取数组:String[] str = bd.getStringArray("StringArray")
2、Intent传递集合
- a、List<基本数据类型或String>
 
      写入集合:
       intent.putStringArrayListExtra(name, value)
       intent.putIntegerArrayListExtra(name, value)
      读取集合:
       intent.getStringArrayListExtra(name)
       intent.getIntegerArrayListExtra(name)
- b、List< Object>
 
将list强转成Serializable类型,然后传入(可用Bundle做媒介)
写入集合:putExtras(key, (Serializable)list)
读取集合:(List<Object>) getIntent().getSerializable(key)
Object类需要实现Serializable接口
- c、Map<String, Object>,或更复杂的
 
       解决方法是:外层套个List
 //传递复杂些的参数 Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("key1", "value1");
 map1.put("key2", "value2");
 List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
 list.add(map1);
 Intent intent = new Intent();
 intent.setClass(MainActivity.this,ComplexActivity.class);
 Bundle bundle = new Bundle();
 //须定义一个list用于在budnle中传递需要传递的ArrayList<Object>,这个是必须要的 ArrayList bundlelist = new ArrayList(); bundlelist.add(list); bundle.putParcelableArrayList("list",bundlelist); intent.putExtras(bundle); startActivity(intent);
3、Intent传递对象,对象转换为Json字符串
public class Book{private int id;private String title;//...
}public class Author{private int id;private String name;//...
}
写入数据:
Book book=new Book();
book.setTitle("Java编程思想");
Author author=new Author();
author.setId(1);
author.setName("Bruce Eckel");
book.setAuthor(author);
Intent intent=new Intent(this,SecondActivity.class);
intent.putExtra("book",new Gson().toJson(book));//Gson解析
startActivity(intent);读取数据:
String bookJson=getIntent().getStringExtra("book");
Book book=new Gson().fromJson(bookJson,Book.class);Gson解析
Log.d(TAG,"book title->"+book.getTitle());
Log.d(TAG,"book author name->"+book.getAuthor().getName()); 
4、Intent传递Bitmap
Bitmap bitmap = null;
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putParcelable("bitmap", bitmap);//bitmap默认实现Parcelable接口,直接传递即可
intent.putExtra("bundle", bundle); 
5、使用 Application全局对象,数据可以在任何地方都能获取到
 Android系统在每个程序运行的时候创建一个Application对象,而且只会创建一个
-   在AndroidManifest.xml中为我们的application标签添加:name属性
<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name"> -  自定义Application类 
class MyApp extends Application {private String myState;private static MyApp instance;public static MyApp getInstance(){return instance;} public String getState(){return myState;}public void setState(String s){myState = s;}@Overridepublic void onCreate(){onCreate();instance = this;} } 我们就可以在任意地方直接调用:MyApp.getInstance()来获得Application的全局对象 
其他常用系统Intent合集
//===============================================================
 //1.拨打电话
 // 给移动客服10086拨打电话
 Uri uri = Uri.parse("tel:10086");
 Intent intent = new Intent(Intent.ACTION_DIAL, uri);
 startActivity(intent);
//===============================================================
//2.发送短信
 // 给10086发送内容为“Hello”的短信
 Uri uri = Uri.parse("smsto:10086");
 Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
 intent.putExtra("sms_body", "Hello");
 startActivity(intent);
//3.发送彩信(相当于发送带附件的短信)
 Intent intent = new Intent(Intent.ACTION_SEND);
 intent.putExtra("sms_body", "Hello");
 Uri uri = Uri.parse("content://media/external/images/media/23");
 intent.putExtra(Intent.EXTRA_STREAM, uri);
 intent.setType("image/png");
 startActivity(intent);
//===============================================================
//4.打开浏览器:
 // 打开百度主页
 Uri uri = Uri.parse("http://www.baidu.com");
 Intent intent  = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);
//===============================================================
//5.发送电子邮件:(阉割了Google服务的没戏!!!!)
 // 给someone@domain.com发邮件
 Uri uri = Uri.parse("mailto:someone@domain.com");
 Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
 startActivity(intent);
 // 给someone@domain.com发邮件发送内容为“Hello”的邮件
 Intent intent = new Intent(Intent.ACTION_SEND);
 intent.putExtra(Intent.EXTRA_EMAIL, "someone@domain.com");
 intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
 intent.putExtra(Intent.EXTRA_TEXT, "Hello");
 intent.setType("text/plain");
 startActivity(intent);
 // 给多人发邮件
 Intent intent=new Intent(Intent.ACTION_SEND);
 String[] tos = {"1@abc.com", "2@abc.com"}; // 收件人
 String[] ccs = {"3@abc.com", "4@abc.com"}; // 抄送
 String[] bccs = {"5@abc.com", "6@abc.com"}; // 密送
 intent.putExtra(Intent.EXTRA_EMAIL, tos);
 intent.putExtra(Intent.EXTRA_CC, ccs);
 intent.putExtra(Intent.EXTRA_BCC, bccs);
 intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
 intent.putExtra(Intent.EXTRA_TEXT, "Hello");
 intent.setType("message/rfc822");
 startActivity(intent);
//===============================================================
//6.显示地图:
 // 打开Google地图中国北京位置(北纬39.9,东经116.3)
 Uri uri = Uri.parse("geo:39.9,116.3");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);
//===============================================================
//7.路径规划
 // 路径规划:从北京某地(北纬39.9,东经116.3)到上海某地(北纬31.2,东经121.4)
 Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=39.9 116.3&daddr=31.2 121.4");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);
//===============================================================
//8.多媒体播放:
 Intent intent = new Intent(Intent.ACTION_VIEW);
 Uri uri = Uri.parse("file:///sdcard/foo.mp3");
 intent.setDataAndType(uri, "audio/mp3");
 startActivity(intent);
//获取SD卡下所有音频文件,然后播放第一首=-= 
 Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);
//===============================================================
//9.打开摄像头拍照:
 // 打开拍照程序
 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
 startActivityForResult(intent, 0);
 // 取出照片数据
 Bundle extras = intent.getExtras(); 
 Bitmap bitmap = (Bitmap) extras.get("data");
//另一种:
 //调用系统相机应用程序,并存储拍下来的照片
 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
 time = Calendar.getInstance().getTimeInMillis();
 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment
 .getExternalStorageDirectory().getAbsolutePath()+"/tucue", time + ".jpg")));
 startActivityForResult(intent, ACTIVITY_GET_CAMERA_IMAGE);
//===============================================================
//10.获取并剪切图片
 // 获取并剪切图片
 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
 intent.setType("image/*");
 intent.putExtra("crop", "true"); // 开启剪切
 intent.putExtra("aspectX", 1); // 剪切的宽高比为1:2
 intent.putExtra("aspectY", 2);
 intent.putExtra("outputX", 20); // 保存图片的宽和高
 intent.putExtra("outputY", 40); 
 intent.putExtra("output", Uri.fromFile(new File("/mnt/sdcard/temp"))); // 保存路径
 intent.putExtra("outputFormat", "JPEG");// 返回格式
 startActivityForResult(intent, 0);
 // 剪切特定图片
 Intent intent = new Intent("com.android.camera.action.CROP"); 
 intent.setClassName("com.android.camera", "com.android.camera.CropImage"); 
 intent.setData(Uri.fromFile(new File("/mnt/sdcard/temp"))); 
 intent.putExtra("outputX", 1); // 剪切的宽高比为1:2
 intent.putExtra("outputY", 2);
 intent.putExtra("aspectX", 20); // 保存图片的宽和高
 intent.putExtra("aspectY", 40);
 intent.putExtra("scale", true);
 intent.putExtra("noFaceDetection", true); 
 intent.putExtra("output", Uri.parse("file:///mnt/sdcard/temp")); 
 startActivityForResult(intent, 0);
//===============================================================
//11.打开Google Market 
 // 打开Google Market直接进入该程序的详细页面
 Uri uri = Uri.parse("market://details?id=" + "com.demo.app");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);
//===============================================================
//12.进入手机设置界面:
 // 进入无线网络设置界面(其它可以举一反三)  
 Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);  
 startActivityForResult(intent, 0);
//===============================================================
//13.安装apk:
 Uri installUri = Uri.fromParts("package", "xxx", null);   
 returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
//===============================================================
//14.卸载apk:
 Uri uri = Uri.fromParts("package", strPackageName, null);      
 Intent it = new Intent(Intent.ACTION_DELETE, uri);      
 startActivity(it); 
//===============================================================
//15.发送附件:
 Intent it = new Intent(Intent.ACTION_SEND);      
 it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");      
 it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");      
 sendIntent.setType("audio/mp3");      
 startActivity(Intent.createChooser(it, "Choose Email Client"));
//===============================================================
//16.进入联系人页面:
 Intent intent = new Intent();
 intent.setAction(Intent.ACTION_VIEW);
 intent.setData(People.CONTENT_URI);
 startActivity(intent);
//===============================================================
 //17.查看指定联系人:
 Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);//info.id联系人ID
 Intent intent = new Intent();
 intent.setAction(Intent.ACTION_VIEW);
 intent.setData(personUri);
 startActivity(intent);
//===============================================================
//18.调用系统编辑添加联系人(高版本SDK有效):
 Intent it = newIntent(Intent.ACTION_INSERT_OR_EDIT);    
 it.setType("vnd.android.cursor.item/contact");    
 //it.setType(Contacts.CONTENT_ITEM_TYPE);    
 it.putExtra("name","myName");    
 it.putExtra(android.provider.Contacts.Intents.Insert.COMPANY, "organization");    
 it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL,"email");    
 it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"homePhone");    
 it.putExtra(android.provider.Contacts.Intents.Insert.SECONDARY_PHONE,"mobilePhone");    
 it.putExtra( android.provider.Contacts.Intents.Insert.TERTIARY_PHONE,"workPhone");    
 it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,"title");    
 startActivity(it);
//===============================================================
//19.调用系统编辑添加联系人(全有效):
 Intent intent = newIntent(Intent.ACTION_INSERT_OR_EDIT);    
 intent.setType(People.CONTENT_ITEM_TYPE);    
 intent.putExtra(Contacts.Intents.Insert.NAME, "My Name");    
 intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890");    
 intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE);    
 intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@com.com");    
 intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE, Contacts.ContactMethodsColumns.TYPE_WORK);    
 startActivity(intent);
//===============================================================
//20.打开另一程序 
 Intent i = new Intent();     
 ComponentName cn = new ComponentName("com.example.jay.test",     
 "com.example.jay.test.MainActivity");     
 i.setComponent(cn);     
 i.setAction("android.intent.action.MAIN");     
 startActivityForResult(i, RESULT_OK);
//===============================================================
//21.打开录音机
 Intent mi = new Intent(Media.RECORD_SOUND_ACTION);     
 startActivity(mi);
//===============================================================
//22.从google搜索内容 
 Intent intent = new Intent();     
 intent.setAction(Intent.ACTION_WEB_SEARCH);     
 intent.putExtra(SearchManager.QUERY,"searchString")     
 startActivity(intent);
//===============================================================
  
相关文章:
Android Studio 之 Intent及其参数传递
一、Intent 显式Intent:通过组件名指定启动的目标组件,比如startActivity(new Intent(A.this,B.class)); 每次启动的组件只有一个~隐式Intent:不指定组件名,而指定Intent的Action,Data,或Category,当我们启动组件时, 会去匹配AndroidManifest.xml相关组件的Intent-…...
【黑马头条】-day06自媒体文章上下架-Kafka
文章目录 今日内容1 Kafka1.1 消息中间件对比1.2 kafka介绍1.3 kafka安装及配置1.4 kafka案例1.4.1 导入kafka客户端1.4.2 编写生产者消费者1.4.3 启动测试1.4.4 多消费者启动 1.5 kafka分区机制1.5.1 topic剖析 1.6 kafka高可用设计1.7 kafka生产者详解1.7.1 同步发送1.7.2 异…...
非线性特征曲线线性化插补器(CODESYS 完整ST代码)
1、如何利用博途PLC和信捷PLC实现非线性特征曲线的线性化可以参考下面文章链接: 非线性特征曲线线性化(插补功能块SCL源代码+C代码)_scl直线插补程序-CSDN博客文章浏览阅读382次。信捷PLC压力闭环控制应用(C语言完整PD、PID源代码)_RXXW_Dor的博客-CSDN博客闭环控制的系列文章…...
vue3从精通到入门4:diff算法的实现
Vue 3 的 diff 算法相较于 Vue 2 有了一些改进和优化,主要是为了应对更复杂的组件结构和更高的性能需求。 以下是 Vue 3 diff 算法在处理列表更新时的大致步骤: 头头比较:首先,比较新旧列表的头节点(即第一个节点&…...
(三)C++自制植物大战僵尸游戏项目结构说明
植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/ErelL 一、项目结构 打开项目后,在解决方案管理器中有五个项目,分别是libbox2d、libcocos2d、librecast、libSpine、PlantsVsZombies五个项目,除PlantsVsZombies外,其他四个…...
动态规划专练( 279.完全平方数)
279.完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 …...
京东商品详情API接口(商品属性丨sku价格丨详情图丨标题等数据)
京东商品详情API接口是京东开放平台提供的一种API接口,通过调用该接口,开发者可以获取京东商品的标题、价格、库存、月销量、总销量、详情描述、图片等详细信息。下面针对您提到的商品属性、SKU价格、详情图以及标题等数据,做具体介绍&#x…...
Springboot+Vue项目-基于Java+MySQL的校园周边美食探索及分享平台系统(附源码+演示视频+LW)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…...
折叠面板组件(vue)
代码 <template><div class"collapse-info"><div class"collapse-title"><div class"title-left">{{ title }}</div><div click"changeHide"> <Button size"small" v-if"sho…...
【Canvas技法】蓝底金字北岛诗节选(径向渐变色、文字阴影示例)
【效果图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>北岛诗选</title><style type"text/css">.c…...
【大语言模型】基础:TF-IDF
TF-IDF (Term Frequency-Inverse Document Frequency) 是一种用于信息检索与文本挖掘的统计方法,用来评估一个词对于一个文件集或一个语料库中的其中一份文件的重要性。它是一种常用于文本处理和自然语言处理的权重计算技术。 原理 TF-IDF 由两部分组成࿱…...
[开发日志系列]PDF图书在线系统20240415
20240414 Step1: 创建基础vueelment项目框架[耗时: 1h25min(8:45-10:10)] 检查node > 升级至最新 (考虑到时间问题,没有使用npm命令行执行,而是觉得删除重新下载最新版本) > > 配置vue3框架  取名:Online PDF Book System 遇到的报错: 第一报错: npm ERR! …...
蓝桥杯 — — 纯质数
纯质数 题目: 思路: 一个最简单的思路就是枚举出所有的质数,然后再判断这个质数是否是一个纯质数。 枚举出所有的质数: 可以使用常规的暴力求解法,其时间复杂度为( O ( N N ) O(N\sqrt{N}) O(NN )&…...
OpenCV基本图像处理操作(三)——图像轮廓
轮廓 cv2.findContours(img,mode,method) mode:轮廓检索模式 RETR_EXTERNAL :只检索最外面的轮廓;RETR_LIST:检索所有的轮廓,并将其保存到一条链表当中;RETR_CCOMP:检索所有的轮廓,并将他们组…...
比特币突然暴跌
作者:秦晋 周末愉快。 今天给大家分享两则比特币新闻,也是两个数据。一则是因为中东地缘政治升温,传统资本市场的风险情绪蔓延至加密市场,引发加密市场暴跌。比特币跌至66000美元下方。杠杆清算金额高达8.5亿美元。 二则是&#x…...
使用SpeechRecognition和vosk处理ASR
SpeechRecognition可以支持多种模型语音转文字,感觉vosk还不错,使用起来也简单一些;百度也有PaddleSpeech,但是安装起来太麻烦,不是这个库版本不对就是那个库有问题,用起来不方便; 安装SpeechR…...
【Go】通道:缓冲通道和非缓冲通道
目录 通道的基本概念 缓冲通道 非缓冲通道 总结 通道的基本概念 在Go语言中,通道是一种特殊的类型,用于在goroutine之间传递数据。你可以将通道想象为数据的传输管道。通道分为两种类型: 非缓冲通道(Unbuffered Channels&…...
Java中数组的使用
在Java编程中,数组是一种非常重要的数据结构,它允许我们存储相同类型的多个元素。对于初学者来说,理解数组的基本概念、初始化、遍历、默认值以及内存分配和使用注意事项是非常关键的。 一、数组的概念 数组是一个可以容纳多个相同类型数据…...
CAP5_Monday
A Set to Max (Easy Version) 给定数组 a 和 b,可以执行以下操作任意次 : 让 a l ∼ a r a_l\sim a_r al∼ar 中的所有所有元素变成 a i a_i ai ( l ≤ i ≤ r ) (l\leq i\leq r) (l≤i≤r), 其中 1 ≤ l ≤ r ≤ n 1\leq l \leq r \leq n 1≤…...
科大讯飞星火开源大模型iFlytekSpark-13B GPU版部署方法
星火大模型的主页:iFlytekSpark-13B: 讯飞星火开源-13B(iFlytekSpark-13B)拥有130亿参数,新一代认知大模型,一经发布,众多科研院所和高校便期待科大讯飞能够开源。 为了让大家使用的更加方便,科…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
