Java 为什么不支持泛型数组?

在 Ubuntu 22.04 上配置 SonarQube 与 CI/CD 流水线实现自动化代码审查 本文详细介绍了在Ubuntu 22.04系统上配置SonarQube并与CI/CD流水线集成的完整流程,实现自动化代码审查。从环境准备、数据库配置到核心参数调优,再到与Jenkins和GitHub Actions的深度集成,提供了实战技巧和性能优化建议,帮助团队提升代码质量监控效率。 阅读详情

问题

  首先对比一下以下两段代码,都是声明两个数组,其中一个使用泛型,一个不使用泛型。使用泛型的一个编译失败,由此可知,Java 不支持泛型数组。

List<Integer>[] list = new LinkedList<Integer>[10];// 无法通过编译
List[] list = new LinkedList[10];

原因

  Java 泛型通过类型擦除实现,编译时类型参数就会被擦掉。例如:声明一个 List<String>,一个 List<Integer>,编译后,都变为 List,并且在 JVM 中是同一个 class 对象 List.class。

List<String> stringList = new LinkedList<String>();
List<Integer> integerList = new LinkedList<Integer>();
// 输出true
System.out.println(stringList.getClass()==integerList.getClass());

假设 Java 允许使用泛型数组,我们看看有什么问题。

List<String>[] list = new LinkedList<String>[10];

经过类型擦除后。

List[] list = new LinkedList[10];

接下来我们就可以往数组中放东西了。

list[1] = new LinkedList<String>();	
list[0] = new LinkedList<Integer>();   // 编译通过

  这里就出现问题了,声明的是 LinkedList<String> 类型的数组,但是居然成功放入了一个 LinkedList<Integer>(),这与 Java 协变数组类型有关,出现了类型安全问题,所以 Java 中不支持泛型数组。

  创建泛型数组的唯一方式,是先创建一个擦除类型的数组,然后使用强制类型转型,这种类型转换将产生一个关于未检验的类型转换的编译警告。

List<String>[] list = (LinkedList<String>[]) new LinkedList[10];
list[0] = new LinkedList<String>();
list[1] = new LinkedList<Integer>();// 报错
绿标短网址app.10086.cn/xxxxx移动短网址缩短接口网址api调用php方式解析 绿标短网址app.10086.cn/xxxxx 移动网缩短接口网址api调用php方式解析 app.10086.cn是移动网站的接口,可以制作移动网等第三方官方网站域名的任意生成接口,由于是认证企业,可以再抖音 微信 qq等第三方渠道正常打开不拦截提示,第三方网址,头条文章等,效果非常号,这里记录下api接口,纯技术php生成,具体规则可以去抖音的开放平台去申请对应接口 。这里用我php模拟抓包获取方式 GET http://www.app10086cn.cn/?i=app.10068.cnHTTP/1.1 阅读详情

相关推荐

海外支付实战:虚拟信用卡订阅ChatGPT Plus等服务的完整指南

在跨境数字服务消费中,支付环节常因地区限制、银行风控等因素受阻。其核心原理在于国际信用卡交易需通过发卡行风控系统,而国内银行对高频、小额或商户名非常规的境外线上交易敏感,导致成功率不稳定。为解决这一痛点,虚拟信用卡技术应运而生,它通过服务商生成关联预充值账户的虚拟卡号,提供地域灵活性与资金可控性,显著提升了支付通过率。这项技术的价值在于以较低学习成本,为个人用户打通了访问ChatGPT Plus、Midjourney、Claude Pro等前沿AI服务的支付通道。其典型应用场景包括订阅各类海外SaaS、内容

weixin_42531579的博客 1021

Java不支持泛型数组

ArrayList<object>[] list = new ArrayList<object>[100]; 编译报错:generic array creation 创建泛型数组 建议:创建泛型数组的时候,将数组改写为ArrayList< ArrayList>的形式 不能创建泛型数组的原因:Java的泛型是伪泛型(类型擦除),这些伪泛型在编译的时候是不能具化的。换句话说就是,虽然我们给自己定义的泛型制定了比较丰富的含义,但是在编译的时候它包含的描述信息是缺少、不足的,

穹顶之下 3045

golang 线上事故

golang 线上事故 最近公司要做大促的一些活动。并且单量,qps持续上涨。之前使用的是django python 语言做的一个服务端。目前已经部署的国家里面最多的国家会有300+个实例。大促期间还可能会增加一个实例数。这么多的实例部署,回滚的时间都会特变长,除了问题也不好定位。并且如此多的一个机器,连接数* 实例数也会导致DB等其他服务扛不住这么大的并发。所以决定上go服务解决性能问题。 ...

lcf枫的博客 1537

Java 中为什么禁止泛型数组

首先理解两个概念。在 Java 中, array具有共变性。共变性的意思是说,一个 类型为 T[ ] 的数组可以包含,类型为 T 的元素或者 subtype 类型为 T 的元素。所以我们可以这样做: 不仅如此,如果 S 是 T 的 subtype, 一个类型为 S[ ] 的数组也是类型 T [ ]数组的 subtype。例如 Integer 是 Number 的 Subtype, 我们可以这么做: 如果这样做呢? 不通过类型对象直接赋值。 上面的代码直接给 类型为T[ ] 的数组赋值, 在编译期间是没有问题

迪文的博客 660

奇安信 2025 年护网蓝队初选笔试题(附答案解析)

熬夜为大家整理了 奇安信 2025 年护网蓝队初选笔试题,(关注我我会持续更新)涵盖 SQL 注入、Web 安全、渗透测试、二进制安全 等核心知识点,并附上详细答案解析,助力大家高效备考!12.下列关于虚表指针描述正确的是(1.5分)✅ B. 虚表指针存储的是虚表的首地址❌ A. 任何类对象都存在虚表指针(仅含虚函数的类有)❌ C. 虚表指针位于对象内存空间的起始处(由编译器决定)❌ D. 虚表指针是否存在不影响对象所占内存空间的大小(存在时会增加指针大小)📌 解析:虚表指针(vptr)用于实现多态,指向

Aishenyanying33的博客 4696

静态时序分析—门控时钟检查(clock gating check)

clock gating check的条件与类型

m0_61544122的博客 9606

java泛型list_Java泛型列表(List)

Java在List接口中提供了泛型的支持。语法List list = new ArrayList();在上面代码中,list - List接口的对象。T - 在List声明期间传递的泛型类型参数。描述T是传递给泛型接口List及其实现类ArrayList的类型参数。示例使用您喜欢的编辑器创建以下java程序,并保存到文件:GenericsList.java 中,代码如下所示 -package co...

weixin_33737167的博客 1719

【2026OD新机考】【不定滑窗】20260415-API请求日志去重分析【Py/Java/C++/C/JS/Go六种语言OD真题】【欧弟算法】全网注释最详细分类最全的华子OD真题题解

中找到所有的连续的相同元素,同时统计对应的连续相同元素对应的值的平均值。:当右指针为第一个元素(没有前一个元素),或者右指针对应的元素。某微服务系统的日志监控平台需分析API调用记录,日志含大量。相等,说明当前元素仍然属于同一个相同元素窗口,将当前元素值。中的所有元素均相等,并且计算窗口和情况即可。请实现一个函数,对给定的日志数据去重合并处理。位置,表示开启一个新的窗口,此时需要重置窗口和。,为了优化重复的请求记录,存储和后续分析需对。:对应的响应时间数组(毫秒)。重新置为当前右指针的元素值。

weixin_48157259的博客 112

Java泛型

文章目录引言 引言 Java从JDK 1.5之后开始支持泛型,为了兼容之前的

yangchuangyc的博客 637

华为OD机试E卷 -猜字谜(Java & Python& JS & C++ & C )

小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。猜中的要求如下:请你写一个程序帮忙在谜底库中找到正确的谜底。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回”not found”

算法大师! 3488

详解AUTOSAR:DaVinci Configurator配置CAN和UART数据协议解析器(RH850)(实战篇—1)

通过学习本篇博文项目,将会把所学的DaVinci Configurator知识系统串联起来。

不脱发的程序猿 2811

Java泛型(通配符)

Java泛型通配符 在了解通配符之前,如下知识点的理解对于为何设置通配符有着很好的解释作用。 协变: 不变: 逆变: 更加详细的解释可参考文章:《几个搞不太懂的术语:逆变、协变、不变》 ...

weixin_44298385的博客 4373

乐企归集能力说明文档V2.0006

纳税人销售货物、提供服务开具的增值税发票及购进货物、接受服务取得的增值税发票、海关缴款书(含出口转内销证明)、代扣代缴完税凭证,可以通过本能力进行归集。纳税人可将本能力中的各类规则和接口嵌入本单位信息化系统中(如:销售、报销、财务等),实现发票自动化归集,便于纳税人完成发票入账、抵扣、退税以及代办退税等操作,有效提升涉税业务办理效率。

记录点滴 573

为什么java不支持泛型数组?

Java为什么不支持泛型数组? 因为这样做会破坏类型安全。核心的问题在于Java泛型:Java的泛型停留在编译这一层,到了运行时,这些泛型的信息其实是被抹掉的;Java的做法不必修改JVM,减少了潜在的大幅改动和随之而来的风险,也许同时也反映出Java Bytecode规范在设计之初的先天不足; 在Java中,Object[]数组可以是任何数组的父类,或者说,任何一...

泽阳Alex的博客 2984

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java 不支持泛型_分析一下为什么JAVA不支持泛型类型的数组

首先大家参考一下这篇文章sean的这篇文章大部分是对的,但是到最后的结论部分“想想看,我们本来定义的是装Map的数组,结果我们却可以往里面放任何Map,接下来如果有代码试图按原有的定义去取值,后果是什么不言自明。”,我觉得可以讨论讨论。其实,sean的文中也提到,Java对泛型的支持其实就是在编译器中做了做手脚,增加了一些强制类型转换的代码,也就是说原来需要我们手动写的一些强制类型转换的代码,在泛...

weixin_29323273的博客 282

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java 不支持泛型_分析一下为什么Java不支持泛型类型的数组

首先大家参考一下这篇文章sean的这篇文章大部分是对的,但是到最后的结论部分“想想看,我们本来定义的是装Map的数组,结果我们却可以往里面放任何Map,接下来如果有代码试图按原有的定义去取值,后果是什么不言自明。”,我觉得可以讨论讨论。其实,sean的文中也提到,Java对泛型的支持其实就是在编译器中做了做手脚,增加了一些强制类型转换的代码,也就是说原来需要我们手动写的一些强制类型转换的代码,在泛...

weixin_39572316的博客 172

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java不支持泛型数组_JAVA泛型中的类型擦除及为什么不支持泛型数组

一,数组的协变性(covariant array type)及集合的非协变性设有Circle类和Square类继承自Shape类。关于数组的协变性,看代码:public static doubletotalArea(Shape[] arr){double total = 0;for(Shape shape : arr) {if(shape != null)total+=shape.area();}...

weixin_39837607的博客 217

为什么 Java 不支持泛型数组

Java 不支持泛型数组。也就是说, List&lt;String&gt;[] ls = new ArrayList&lt;String&gt;[10]; 是不支持的,而 List&lt;String&gt;[] ls = new ArrayList[10] 却可以。 是我一直不清楚为什么不能够声明泛型的数组,指定类型可以让编译的时候不会出现类型安全的提示。 直到今天我看到Su...

kaven 6999

Java 为什么不支持创建泛型化数组

没事的时候在书中翻了下泛型相关的知识,注意到一个比较有意思的问题:Java 不能创建泛型化数组。比如像下面这样就是不允许的: // 创建一个泛型类 public class Generic<T> { } // 测试类 public class Test { public static void main(String[] args) { // 创建一个泛型化数...

点滴记录 1217

Java中数组为什么不支持泛型,集合却支持泛型?

首先需要明白泛型是在编译器校验类型安全的,在运行期会将类型擦除,比如: List<String> list = new ArrayList<>(); 这段代码在允许期会被擦掉泛型,就等同于List list = new ArrayList(); 其次 要明白集合中的泛型是不可变的,但是数组里的类型是可变的,比如: List<String> list = new ...

肆頭的博客 3128

Java基础--为什么Java不支持泛型数组

学过Java泛型的人都知道,Java泛型是不止直接使用new实例化参数化类型的数组 比如我们定义一个泛型化的LinkedStack的栈类 package chapter5.genericity; public class LinkedStack<T> { private static class Node<U>{ U item; N...

goging的博客 607

详细探讨:为什么 Java 不支持泛型数组?

泛型根据字面意思就是,广泛的类型。它可以表示任意一个具体的类型,这就相当于一种表示类型的变量。例如在声明一个一个变量a的时候,如果我们想让这个a根据业务逻辑的不同,可以有多种表现,也就是可以有不同的数据类型的时候,就可以用到泛型。用泛型声明这个变量a。inta;//引入泛型前的写法:定死了,只能是int类型Ta;//引入后,类型就是动态的,可以根据业务需求让a声明为对应的类型。

qq_56776909的博客 1112

java泛型数组_Java 为什么不支持泛型数组

缘由之前leetcode刷题的时候,某道题试图新建一个HashMap的数组,总是编译出错,然后突然反应过来,Java里是不能按照像通常新建基本类型的数组一样,直接新建泛型数组的。希望我能以比较简单明了的方式说明其中的原因。分析首先对于Java数组,数组必须明确知道内部元素的类型,而且编译器会”记住“这个类型,每次往数组里插入新元素都会进行类型检查,不匹配会抛出java.lang.ArrayStor...

weixin_30746159的博客 302

java 不支持泛型_分析一下為什么JAVA不支持泛型類型的數組

首先大家參考一下這篇文章sean的這篇文章大部分是對的,但是到最后的結論部分“想想看,我們本來定義的是裝Map的數組,結果我們卻可以往里面放任何Map,接下來如果有代碼試圖按原有的定義去取值,后果是什么不言自明。”,我覺得可以討論討論。其實,sean的文中也提到,Java對泛型的支持其實就是在編譯器中做了做手腳,增加了一些強制類型轉換的代碼,也就是說原來需要我們手動寫的一些強制類型轉換的代碼,在泛...

weixin_30527151的博客 157

java为什么不支持泛型数组_Java中为何不能使用泛型数组?

刚刚接触java,在学习泛型时遇到了一个问题。我编写了一段代码,存在一个疑问,第3行是否属于使用泛型数组。我了解到翻译泛型时存在类型擦除,会被抹成Object,而且我也明确看到了资料中写出不支持泛型数组。希望有好心人可以给我解释一下我这段代码是否属于泛型数组,或者说是,能够通俗的解释一下不能使用使用泛型的理由。万分感谢!publicclassGenericParadigmTest{publi...

weixin_31417633的博客 168

为什么Java不支持声明泛型数组

大家都知道Java是不能够声明泛型数组的,诸如以下的语法是不支持的: List[] ls = new ArrayList[10]; 而这样声明却是可以的: List[] ls = new ArrayList[10] 但是我一直不清楚为什么不能够声明泛型的数组,指定类型可以让编译的时候不会出现类型安全的提示。 直到今天我看到Sun的一篇文档才清楚,里面提到了一种情况: ...

momsbaby的博客 281
上一篇: 使用 HashMap 存一万条数据,构造时传 10000 还会触发扩容吗?
下一篇: Floyd 循环检测算法(快慢指针法/龟兔指针法)
ali48
博客等级 码龄6年 31粉丝 117原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值