Atu*_*Rai 1 java functional-programming java-8
我有一个9位数字的字符串,其中包括以下详细信息:前3位数字代表城市代码,中间3位是银行代码,最后3位是分支代码。
我想使用Java 8或函数式编程从整个字符串中提取这3个,以便随时可以更改实现。
我已经使用了旧的基本结构,使用 String.substring(start,end);
public static void main(String[] args) {
String city = getCityCode("302105202");
System.out.println("City-" + city);
String bank = getBankCode("302105202");
System.out.println("bank-" + bank);
String branch = getBranchCode("302105202");
System.out.println("branch-" + branch);
}
public static String getCityCode(String micr) {
return micr.substring(0, 3);
}
public static String getBankCode(String micr) {
return micr.substring(3, 6);
}
public static String getBranchCode(String micr) {
return micr.substring(6, 9);
}
}
Run Code Online (Sandbox Code Playgroud)
如何在Java 8中获得这些?
提前致谢;
为此,您不需要Java 8功能。
但是,static我将使用Java作为一种面向对象的语言,而不是3 种方法。我定义了一个BankAccount具有3个实例变量类(或类似的东西) - city,bank和branch。
该类的构造函数将接受String参数,对其进行解析(使用substring(),就像您当前所做的那样),然后将值分配给3个实例变量。
public class BankAccount
{
private String city;
private String bank;
private String branch;
public BankAccount (String acctStr)
{
this.city = acctStr.substring(0,3);
this.bank = acctStr.substring(3,6);
this.branch = acctStr.substring(6,9);
}
public String getCity () {return city;}
public String getBank () {return bank;}
public String getBranch () {return branch;}
}
Run Code Online (Sandbox Code Playgroud)
你甚至可以考虑转换city,bank并branch代码转换成int秒。
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |