驼峰命名法七十二变:字节面试官的字符串魔术课

驼峰命名法七十二变:字节面试官的字符串魔术课

作为数据工程师,命名规范就像给变量穿衣服——既要保暖(表意清晰)又要时尚(格式规范)。今天我们来破解字节跳动高频面试题:驼峰命名转换的三种姿势!

一、题目解析

需求:实现双向驼峰命名转换器

  • 下划线/短横线转小驼峰:user_nameuserName
  • 下划线/短横线转大驼峰:user-nameUserName
  • 驼峰转下划线:userNameuser_name

特殊处理

  1. 连续分隔符视为单个(a__baB
  2. 首字符处理(_namename
  3. 数字处理(user2_iduserId

二、Java的三种解法

方法1:字符流手术刀(时间复杂度O(n))

public class CamelConverter {
   
    // 驼峰转下划线
    public static String camelToUnderline(String str) {
   
        if (str == null) return "";
        StringBuilder sb = new StringBuilder();
        for (char c : str.toCharArray()) {
   
            if (Character.isUpperCase(c)) {
   
                sb.append('_').append(Character.toLowerCase(c));
            } else {
   
                sb.append(c);
            }
        }
        return sb.charAt(0) == '_' ? sb.substring(1) : sb.toString();
    }

    // 下划线/短横线转驼峰
    public static String toCamelCase(String str, boolean isBigCamel) {
   
        if (str == null) return "";
        StringBuilder sb = new StringBuilder(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值