java 传参驼峰转下划线
时间: 2023-09-05 10:11:49 浏览: 100
你可以使用下面的代码将驼峰形式的传参转换为下划线形式:
```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"。你可以根据自己的需求修改代码以适应不同的情况。
java map驼峰转下划线
在Java中,将驼峰命名的字符串转换为下划线命名的字符串可以通过以下步骤实现:
1. 首先,导入Java的正则表达式库:`import java.util.regex.Pattern;`
2. 定义一个方法,例如`camelToUnderline`,该方法接收一个驼峰命名的字符串作为参数,并返回转换后的下划线命名的字符串。
3. 在方法内部,使用正则表达式将驼峰命名的字符串转换为下划线命名的字符串。可以使用`Pattern`类的`compile`方法来编译正则表达式,并使用`matcher`方法创建一个匹配器。
4. 使用正则表达式的`replaceAll`方法,将驼峰命名的字符串中的大写字母替换为下划线加小写字母。
5. 返回转换后的下划线命名的字符串。
下面是一个示例代码:
```java
import java.util.regex.Pattern;
public class CamelToUnderlineExample {
public static void main(String[] args) {
String camelCase = "javaMap驼峰转下划线";
String underlineCase = camelToUnderline(camelCase);
System.out.println(underlineCase);
}
public static String camelToUnderline(String camelCase) {
Pattern pattern = Pattern.compile("(?<=[a-z])([A-Z])");
return pattern.matcher(camelCase).replaceAll("_$1").toLowerCase();
}
}
```
运行以上代码,输出结果为:`java_map_驼峰转下划线`
阅读全文