开启String去重XX:+UseStringDeduplication的利与弊

转载 https://blog.csdn.net/goldenfish1919/article/details/94555589

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
``` public class BankAccount { private String accountNumber; private double balance; private String ownerName; public BankAccount(String accountNumber, String ownerName) { this.accountNumber = accountNumber; this.ownerName = ownerName; this.balance = 0.0; } public String getAccountNumber() { return accountNumber; } public double getBalance() { return balance; } public String getOwnerName() { return ownerName; } public void deposit(double amount) { balance += amount; } public void withdraw(double amount) { balance -= amount; } } import java.io.*; import java.util.*; public class BankAccountDAO { private Map<String, BankAccount> accounts; private String fileName; public BankAccountDAO(String fileName) { this.fileName = fileName; accounts = new HashMap<String, BankAccount>(); loadFromFile(); } public BankAccount getAccount(String accountNumber) { return accounts.get(accountNumber); } public List<BankAccount> getAllAccounts() { return new ArrayList<BankAccount>(accounts.values()); } public void addAccount(BankAccount account) { accounts.put(account.getAccountNumber(), account); saveToFile(); } public void updateAccount(BankAccount account) { accounts.put(account.getAccountNumber(), account); saveToFile(); } public void deleteAccount(String accountNumber) { accounts.remove(accountNumber); saveToFile(); } private void loadFromFile() { try { BufferedReader reader = new BufferedReader(new FileReader(fileName)); String line; while ((line = reader.readLine()) != null) { String[] parts = line.split(","); String accountNumber = parts[0]; String ownerName = parts[1]; double balance = Double.parseDouble(parts[2]); BankAccount account = new BankAccount(accountNumber, ownerName); account.deposit(balance); accounts.put(accountNumber, account); } reader.close(); } catch (IOException e) { System.out.println("Failed to load accounts from file: " + e.getMessage()); } } private void saveToFile() { try { BufferedWriter writer = new BufferedWriter(new FileWriter(fileName)); for (BankAccount account : accounts.values()) { String line = account.getAccountNumber() + "," + account.getOwnerName() + "," + account.getBalance(); writer.write(line); writer.newLine(); } writer.close(); } catch (IOException e) { System.out.println("Failed to save accounts to file: " + e.getMessage()); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值