java 传参下划线转驼峰
时间: 2024-12-05 21:06:42 浏览: 9
在Java中,将下划线命名法( "_" 分隔的单词)转换为驼峰命名法(每个单词首字母大写),通常涉及到字符串操作和正则表达式。你可以通过以下几个步骤完成这个过程:
1. 使用 `replace()` 函数替换下划线为空格,因为Java的驼峰命名法不会包含空格。
```java
String underscored = "my_variable_name";
underscored = underscored.replace('_', ' ');
```
2. 将字符串分割成单词数组,通常是基于空格。
```java
String[] words = underscored.split(" ");
```
3. 遍历数组,将每个单词的首字母转换为大写,其余字符小写,然后连接它们。
```java
StringBuilder camelCase = new StringBuilder();
for (int i = 0; i < words.length; i++) {
if (i > 0) {
camelCase.append(words[i].substring(0, 1).toUpperCase());
}
camelCase.append(words[i].substring(1).toLowerCase());
}
```
4. 最后,得到的就是驼峰命名的字符串。
```java
String camelCaseName = camelCase.toString();
```
相关问题
java 传参驼峰转下划线
你可以使用下面的代码将驼峰形式的传参转换为下划线形式:
```java
public static String camelToUnderscore(String input) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isUpperCase(c)) {
sb.append('_');
sb.append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
return sb.toString();
}
```
这个方法接收一个驼峰形式的字符串作为输入,并返回一个下划线形式的字符串。例如,如果你调用 `camelToUnderscore("helloWorld")`,它会返回 `"hello_world"`。
java 对象 传参驼峰转下划线
你可以使用以下代码将驼峰命名的 Java 对象传参转换为下划线风格的命名:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
// 示例对象
Person person = new Person("JohnDoe", 25);
// 将驼峰命名转换为下划线风格命名
String convertedName = convertCamelToUnderscore(person.getName());
System.out.println(convertedName); // 输出: john_doe
}
public static String convertCamelToUnderscore(String input) {
Pattern pattern = Pattern.compile("(?<=[a-z])[A-Z]");
Matcher matcher = pattern.matcher(input);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, "_" + matcher.group().toLowerCase());
}
matcher.appendTail(sb);
return sb.toString().toLowerCase();
}
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
```
上述代码中,我们使用正则表达式来匹配驼峰命名中的大写字母,并在其前面插入下划线。最后,将字符串转为小写并返回。在示例中,我们将 "JohnDoe" 转换为 "john_doe"。你可以根据自己的需求修改代码以适应不同的情况。
阅读全文