爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      初始Java篇(JavaSE基础语法)(8)认识String类(下)

      首页 知识中心 软件开发 文章详情页

      初始Java篇(JavaSE基础语法)(8)认识String类(下)

      2025-02-12 09:27:42 阅读次数:15

      int,String,StringBuffer,修改,字符,字符串,遍历

      字符串截取

      从一个完整的字符串之中截取出部分内容。可用方法如下:

      方法 功能
      String substring(int beginIndex) 从指定索引的位置截取到结尾
      String substring(int beginIndex, int endIndex) 截取部分内容(从beginIndex位置到endIndex位置)

      注意:

      1. 索引从0下标开始。

      2. 注意前闭后开区间的写法。substring(0, 5) 表示从0下标开始截取,一直到4下标,即[0,5) 。

      示例: 

      初始Java篇(JavaSE基础语法)(8)认识String类(下)

      其他操作方法

      方法 功能
      String trim() 去掉字符串中的左右空格,保留中间空格

      示例:初始Java篇(JavaSE基础语法)(8)认识String类(下)

      字符串的不可变性 

      String是一种不可变对象。字符串中的内容是不可改变。字符串不可被修改。下面就是String的源码:

      初始Java篇(JavaSE基础语法)(8)认识String类(下)

      这里可能会有小伙伴会说是因为value数组被 final 修饰了,因此这个数组的内容就不可变了,也就是说这个数组里面存放的字符就不可修改了。

      其实不然,这个final修饰的数组,只是让这个数组名,也就是数组对象的引用不能被修改了,并不是说这个数组的内容不能被修改了。

      例如:初始Java篇(JavaSE基础语法)(8)认识String类(下)

      final修饰引用类型表明该引用变量不能去引用其他对象了,但是其引用对象中的内容是可以修改的。 

      那既然如此,是什么不能让我们修改String的内容呢?其实是 private 修饰的整个数组。如果我们想要修改这个数组内容首先得拿到这个数组吧,但是 private 修饰就直接导致我们拿不到这个数组。因此我们就根本没有机会去修改这个数组。这也就是 String 不可修改的原因。

      那可能小伙伴又有疑惑了:既然不能修改String,那前面我们学习的拆分字符串,字符串大小写转换……这些不都改变了字符串本身吗?这只是我们看到的表面现象。所有涉及到可能修改字符串内容的操作都是创建一个新对象,改变的是新对象 。这样我们每一次涉及修改字符串的操作都是创建一个新的对象。

      为什么 String 要设计成不可变的?(不可变对象的好处是什么?) (目前简单了解)

      1. 方便实现字符串对象池. 如果 String 可变, 那么对象池就需要考虑写时拷贝的问题了。

      2. 不可变对象是线程安全的。 

      3. 不可变对象更方便缓存 hash code, 作为 key 时可以更高效的保存到 HashMap 中. 那如果想要修改字符串中内容,该如何操作呢?

      字符串修改

      注意:尽量避免直接对String类型对象进行修改,因为String类是不能修改的,所有的修改都会创建新对象,效率非常低下。例如:

      public class Test {
          public static void main(String[] args) {
              String s = "hello";
              System.out.println(s);
              s += " world";
              System.out.println(s);
          }
      }

      那么怎样才能使效率变得更高呢?

      借助StringBuffer 和 StringBuilder。下面就来介绍一下。

      StringBuilder和StringBuffer

      由于String的不可更改特性,为了方便字符串的修改,Java中又提供StringBuilder和StringBuffer类。这两个类大部分功能是相同的。

      看到这里,可能有小伙伴要问了:String不是不可修改吗?怎么又说为了方便修改提供了这两个类呢?这不就前后矛盾了吗?

      不不不,并不矛盾。正是因为String不可修改,所以当我们想要修改String时,做不到。那么java开发人员也想到了这种情况,因此就设计出了StringBuffer和StringBuilder这两个类,来让我们想要修改时,可以做到。做法是通过StringBuffer和StringBuilder,修改传入的字符串,再把修改后的结果转换为字符串。这就是字符串的修改方式。

      这里介绍 StringBuffer常用的一些方法。

      StringBuff append(String str)  在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、 double、float、int、long、Object、String、StringBuff的变量。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              sb.append(" world");
              System.out.println(sb);
          }
      }

      char charAt(int index) 获取index位置的字符。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.charAt(0));
          }
      }

      int length() 获取字符串的长度 。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.length());
          }
      }

      int capacity()    获取底层保存字符串空间总的大小 。 

      这里的底层是指用 c/c++ 保存时的大小。不必关心,

      void ensureCapacity(int mininmumCapacity)     扩容。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              // 把空间扩充到原来的两倍
              sb.ensureCapacity(sb.length()*2);
          }
      }

      void setCharAt(int index, char ch)   将index位置的字符设置为ch 。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              sb.setCharAt(4, 'O');
              System.out.println(sb);
          }
      }

       int indexOf(String str)    返回str第一次出现的位置。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              //                         这里要是字符串
              System.out.println(sb.indexOf("o"));
          }
      }

      int indexOf(String str, int fromIndex)      从fromIndex位置开始查找str第一次出现的位置 。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.indexOf("o", 2));
          }
      }

      StringBuff insert(int offset, String str)         在offset位置之前插入:八种基类类型 & String类型 & Object类型数据 。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              //                         在4位置之前,插入world
              System.out.println(sb.insert(4, " world"));
          }
      }

      StringBuffer deleteCharAt(int index)     删除index位置字符。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.deleteCharAt(0));
          }
      }

      StringBuffer delete(int start, int end)     删除[start, end)区间内的字符。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              //                   删除的范围是[0,4)
              System.out.println(sb.delete(0, 4));
          }
      }

      StringBuffer replace(int start, int end, String str)    将[start, end)位置的字符替换为str。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              //               把[0,4)内的字符串内容替换成空,相当于删除操作
              System.out.println(sb.replace(0, 4, ""));
          }
      }

      String substring(int start)          从start开始一直到末尾的字符以String的方式返回。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.substring(0));
          }
      }

      String substring(int start,int end)                 将[start, end)范围内的字符以String的方式返回。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              //                  返回的是[0,4)之间的字符串
              System.out.println(sb.substring(0, 4));
          }
      }

      StringBuffer reverse()         反转字符串。

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.reverse());
          }
      }

      String toString()                 将所有字符按照String的方式返回。 

      public class Test {
          public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello");
              System.out.println(sb.toString());
          }
      }

      StringBuilder 的用法也和上面的类似。

      StringBuffer 、StringBuilder 和String的区别:显而易见,前面两个是可以直接修改的,而String不行,只能通过创建出新的对象。而这个修改可变不可变主要是看是否可以在原对象上进行修改。其次,两者的方法也有些差异。

      刷题练习

      387.字符串中第一个唯一字符 

      给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。

       

      示例 1:

      输入: s = "leetcode"
      输出: 0
      

      示例 2:

      输入: s = "loveleetcode"
      输出: 2
      

      示例 3:

      输入: s = "aabb"
      输出: -1
      

       

      提示:

      • 1 <= s.length <= 105
      • s 只包含小写字母

       

      思路一:直接遍历取出字符串下标对应的字符,再拿这个字符去遍历整个字符串,遇到相等的字符,计数器就加1,当走完一轮之后,就开始看看计数器是否为1,如果为1,那就说明只有自己一个想同,符合,返回这个下标就行了,如果不为1,就说明还有除了自身之外,还有与其相等字符,就继续遍历,直至遍历完成。如果还没有找到就返回-1。

      代码:

      class Solution {
          public int firstUniqChar(String s) {
              for (int i = 0; i < s.length(); i++) {
                  char c = s.charAt(i);
                  int count = 0;
                  for (int j = 0; j < s.length(); j++) {
                      if (c == s.charAt(j)) {
                          count++;
                      }
                  }
                  if (count == 1) {
                      return i;
                  }
              }
              return -1;
          }
      }

      这个方法看似可行,实际上耗费的时间非常多。当唯一的字符一个都没有时,它就要遍历n*n次(n为字符串的长度) ,而如果给出的字符串长度非常长,那么这个就肯定会超时。

      思路二:既然是找这个出现唯一一次的字符,那么我们就可以采用计数数组来计数。当这个字符出现时,对应的下标就加1,遍历完这个字符串后,就开始第二次遍历这个数组,其中下标对应的数组值为1,也就是这个字符只出现了一次,符合要求,直接返回就行,如果没找到就返回-1。这个方法最坏的情况就是:遍历了完完整整的两次字符串,也就是2*n。

      注意:第二次去遍历这个数组时,不能按照下标的顺序来遍历,得按照字符串中每个字符的顺序来遍历。初始Java篇(JavaSE基础语法)(8)认识String类(下)

      代码:

      class Solution {
          public int firstUniqChar(String s) {
              // 根据提示可知只会出现26个字母
              int[] count = new int[26];
              for (int i = 0; i < s.length(); i++) {
                  char c = s.charAt(i);
                  count[c-97]++; // c-'a'也是可以的,很方便我们写代码
              }
              for (int i = 0; i < s.length(); i++) {
                  char c = s.charAt(i);
                  if (count[c-97] == 1) {
                      return  i;
                  }
              }
              return -1;
          }
      }

      HJ1 字符串最后一个单词的长度 

      描述

      计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

      输入描述:

      输入一行,代表要计算的字符串,非空,长度小于5000。

      输出描述:

      输出一个整数,表示输入字符串最后一个单词的长度。

      示例1

      输入:

      hello nowcoder

      输出:

      8

      说明:

      最后一个单词为nowcoder,长度为8   

      思路一: 这个题目就是在于确定其最后一个单词的位置。我们可以通过最后一个空格来来确定。确定最后一个字符串的位置之后,就可以把这个字符串从那个位置开始截取,最后再求其长度即可。

      代码:

      import java.util.Scanner;
      
      // 注意类名必须为 Main, 不要有任何 package xxx 信息
      public class Main {
          public static void main(String[] args) {
              Scanner in = new Scanner(System.in);
              String str = in.nextLine();
              // 找到字符串中最后一个空格的位置
              int x = str.lastIndexOf(" ");
              // 从空格的后一个位置开始截取原字符串
              str = str.substring(x+1);
              // 直接输出该字符串的长度
              System.out.println(str.length());
          }
      }

      思路二:既然要找最后一个单词,那我就直接把最后一个单词放到最前面来就行了。直接把原字符串逆序,再遍历找到空格位置即可,中间的长度就是最后一个单词的长度。

      但是有小伙伴可能要问了:JavaAPI中没有提供逆置字符串的方法呀,难道让我自己实现一个吗?

      当然不是,java虽然没有为String提供,但是为StringBuffer提供了,并且我们刚刚也学过了。 

      先把String转换为StringBuffer,再用reverse方法逆置(最后再把StringBuffer转换为String即可,可以不用转换,直接求)。 

      import java.util.Scanner;
      
      // 注意类名必须为 Main, 不要有任何 package xxx 信息
      public class Main {
          public static void main(String[] args) {
              Scanner in = new Scanner(System.in);
              String str = in.nextLine();
              StringBuffer sb = new StringBuffer(str);
              StringBuffer sb2 = sb.reverse();
              int count = 0;
              for (int i = 0; i<sb2.length(); i++) {
                  if (sb2.charAt(i) == ' ') {
                      break;
                  }
                  count++;
              }
              System.out.println(count);
          }
      }

       125.验证回文串

      如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

      字母和数字都属于字母数字字符。

      给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。

       

      示例 1:

      输入: s = "A man, a plan, a canal: Panama"
      输出:true
      解释:"amanaplanacanalpanama" 是回文串。
      

      示例 2:

      输入:s = "race a car"
      输出:false
      解释:"raceacar" 不是回文串。
      

      示例 3:

      输入:s = " "
      输出:true
      解释:在移除非字母数字字符之后,s 是一个空字符串 "" 。
      由于空字符串正着反着读都一样,所以是回文串。

      思路: 首先,用库方法,将大写字母转换成小写字母。接着遍历来比较看二者是否一致,如果不一致就直接返回;如果一致的话,就继续直至遍历两者的下标相遇即可,返回true。

      代码:

      class Solution {
          public boolean isPalindrome(String s) {
              s = s.toLowerCase(); // 大写转小写
              int i = 0;
              int j = s.length()-1;
              while(i < j) {
                  // 找到数字字母字符
                  while (i < j && !isNumberCharacter(s.charAt(i))) {
                      i++;
                  }
                  // 找到数字字母字符
                  while (i < j && !isNumberCharacter(s.charAt(j))) {
                      j--;
                  }
                  if (s.charAt(i) != s.charAt(j)) {
                      return false;
                  }
                  i++;
                  j--;
              }
              return true;
          }
          public boolean isNumberCharacter(char c) {
                  if (c >= '0' && c <= '9' || c >= 'a' && c <= 'z') {
                      return true;
                  }
                  return false;
          }
      }

       好啦!本期 初始Java篇(JavaSE基础语法)(8)认识String类(下)的学习之旅就到此结束了!相信通过这两篇文章的学习,你对Java中String类的了解将会更进一步!我们下一期再一起学习吧!

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.csdn.net/2301_80854132/article/details/138769608,作者:我要学编程(ಥ_ಥ),版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:初识Java篇(JavaSE基础语法)(1)(数据类型+运算符)

      下一篇:【数据结构】单链表(长期维护)

      相关文章

      2025-05-19 09:04:22

      C# byte[] 如何转换成byte*

      C# byte[] 如何转换成byte*

      2025-05-19 09:04:22
      byte , int
      2025-05-19 09:04:14

      二叉树经典OJ练习

      二叉树经典OJ练习

      2025-05-19 09:04:14
      root , 二叉树 , 子树 , 节点 , 遍历
      2025-05-19 09:04:14

      C语言字符函数和字符串函数--(超全超详细)

      C语言字符函数和字符串函数--(超全超详细)

      2025-05-19 09:04:14
      函数 , 字符 , 字符串
      2025-05-16 09:15:24

      jQuery遍历对象、数组、集合

      jQuery遍历对象、数组、集合

      2025-05-16 09:15:24
      jQuery , 对象 , 数组 , 遍历 , 集合
      2025-05-16 09:15:17

      多源BFS问题(1)_01矩阵

      多源BFS问题(1)_01矩阵

      2025-05-16 09:15:17
      lt , 矩阵 , 遍历
      2025-05-16 09:15:10

      【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

      【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

      2025-05-16 09:15:10
      结点 , 递归 , 遍历 , 链表 , 题目
      2025-05-14 10:33:31

      计算机小白的成长历程——习题演练(函数篇)

      计算机小白的成长历程——习题演练(函数篇)

      2025-05-14 10:33:31
      函数 , 字符串 , 数组 , 知识点 , 编写 , 迭代 , 递归
      2025-05-14 10:33:16

      30天拿下Rust之字符串

      在Rust中,字符串是一种非常重要的数据类型,用于处理文本数据。Rust的字符串是以UTF-8编码的字节序列,主要有两种类型:&str和String。其中,&str是一个对字符数据的不可变引用,更像是对现有字符串数据的“视图”,而String则是一个独立、可变更的字符串实体。

      2025-05-14 10:33:16
      amp , Rust , str , String , 使用 , 字符串 , 方法
      2025-05-14 10:33:16

      30天拿下Rust之切片

      在Rust中,切片是一种非常重要的引用类型。它允许你安全地引用一段连续内存中的数据,而不需要拥有这些数据的所有权。切片不包含分配的内存空间,它仅仅是一个指向数据开始位置和长度的数据结构。

      2025-05-14 10:33:16
      amp , end , 切片 , 字符串 , 引用 , 索引 , 迭代
      2025-05-14 10:33:16

      30天拿下Python之使用Json

      Json的英文全称为JavaScript Object Notation,中文为JavaScript对象表示法,是一种存储和交换文本信息的语法,类似XML。Json作为轻量级的文本数据交换格式,比XML更小、更快,更易解析,也更易于阅读和编写。

      2025-05-14 10:33:16
      json , Json , Python , 字符串 , 对象 , 序列化 , 转换
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5275576

      查看更多

      最新文章

      C# byte[] 如何转换成byte*

      2025-05-19 09:04:22

      C语言字符函数和字符串函数--(超全超详细)

      2025-05-19 09:04:14

      【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

      2025-05-16 09:15:10

      30天拿下Python之使用Json

      2025-05-14 10:33:16

      30天拿下Python之迭代器和生成器

      2025-05-14 10:07:38

      超级好用的C++实用库之Base64编解码

      2025-05-14 10:03:13

      查看更多

      热门文章

      Python高级变量类型

      2024-09-24 06:30:08

      mysql列存储引擎-字符串属性列-列压缩测试

      2023-04-23 09:34:23

      Android/Java判断字符串String是否为float浮点数或double类型

      2023-04-17 09:39:54

      刷题——Python篇(2)类型转换

      2023-02-13 07:58:38

      Java判断字符是否是中文字符

      2023-04-11 10:15:33

      leetcode-数组-151

      2023-02-15 08:24:47

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      【设计模式】建造者模式——建造者模式在JDK源码中的应用

      C++前缀和算法的应用:1862向下取整数对和

      面试之算法:二叉树遍历、左/右叶子节点和、构建二叉树、最大深度、是否平衡、将有序数组转换为二叉树、二叉树求和路径、右视图、序列化、反序列化(Java)

      C/C++ 应用层下遍历驱动列表

      [快学Python3]Tuple(元组)

      算法题:剑指 Offer 32 - II. 从上到下打印二叉树 II 时空 0ms击败100%用户 一次AC优于官方精选答案分层层序遍历(题目+思路+代码+注释)

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号