最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)簡單控制臺通訊錄

 更新時間:2018年02月22日 10:34:30   作者:儕哥哥  
這篇文章主要為大家詳細介紹了java實現(xiàn)簡單控制臺通訊錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下

通過主菜單對各級子菜單進行控制,并實現(xiàn)添加記錄,查找記錄,刪除記錄,修改記錄,排序記錄,以及退出系統(tǒng)功能的實現(xiàn)。一共六部分的功能模塊。

這里寫圖片描述

上面的圖就是每個模塊具有的功能,而且還用到了正則表達式判斷輸入的是否符合規(guī)則,這個系統(tǒng)體現(xiàn)了MVC的設(shè)計模式,分工調(diào)用很清晰。

主要包含了下面幾個類:

這里寫圖片描述

APP類:程序的主函數(shù)類,程序開始的入口
Menu類:里面都是簡單頁面顯示的效果,沒有功能的實現(xiàn)。
TelNoteRegex類:正則表達式,判斷是否輸入合格,都在這個方法中。
Operate類:業(yè)務(wù)邏輯類,全部功能的實現(xiàn)基本都集中在這個類中。
Person類:封裝數(shù)據(jù)。

這里寫圖片描述

具體的實現(xiàn)代碼:

App類的實現(xiàn)代碼:

package com.bjsxt.iphone;
public class App {
 public static void main(String[] args) {
  new App().start();
 }
 public void start(){
  Menu m=new Menu();
  Operate o=new Operate();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.mainMenu();
   int key=reg.menuRegex(1, 6);
   switch(key){
   case 1:
    o.addLogic();
    break;
   case 2:
    o.searchLogic();
    break;
   case 3:
    o.modifyLogicLogic();
    break;
   case 4:
    o.deleteLogic();
    break;
   case 5:
    o.orderLogic();
    break;
   case 6:
    System.exit(0);
    break;
   }
  }
 }
}

Person類具體的實現(xiàn)代碼:

package com.bjsxt.iphone;
public class Person {
 private int id;//用戶ID屬性
 private String name;//用戶姓名屬性
 private String age;//用戶年齡屬性
 private String sex;//用戶性別屬性
 private String telNum;//用戶電話號碼屬性
 private String address;//用戶地址屬性
 public Person(){}
 public Person(int id,String name,String age,String sex,String telNum,String address){
  this.id=id;
  this.name=name;
  this.age=age;
  this.sex=sex;
  this.telNum=telNum;
  this.address=address;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id=id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAge() {
  return age;
 }
 public void setAge(String age) {
  this.age = age;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public String getTelNum() {
  return telNum;
 }
 public void setTelNum(String telNum) {
  this.telNum = telNum;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
}

TelNoteRegex類具體代碼:

package com.bjsxt.iphone;
import java.util.Scanner;
public class TelNoteRegex {
 //對菜單項校驗
 @SuppressWarnings("resource")
 public int menuRegex(int min,int max){
  String regex="[0-9]{1}";
  Scanner sc=new Scanner(System.in);
  while(true){
   String input=sc.nextLine();
   //根據(jù)合法性的校驗
   if(input.matches(regex)){
    int key=Integer.parseInt(input);
    if(key>=min && key<=max){
     return key;
    }else{
     System.out.println("輸入的菜單項不符合要求!");
    }
   }else{
    System.out.println("輸入內(nèi)容不正確!");
   }
  }

 }

 //用戶輸入姓名的驗證
 @SuppressWarnings("resource")
 public String nameRegex(String name){
  String pattern ="[\\u4e00-\\u9fa5]+";
  String str=name;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入中文漢字");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶輸入年齡的驗證
 @SuppressWarnings("resource")
 public String ageRegex(String age){
  String pattern ="^([0-9]|[0-9]{2}|100)$";
  String str=age;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入數(shù)字");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶性別的驗證
 @SuppressWarnings("resource")
 public String sexRegex(String sex){
  String pattern ="[男女MmFf]";
  String str=sex;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入男女MmFf");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶輸入電話號碼的驗證
 @SuppressWarnings("resource")
 public String telNumRegex(String telNum){
  String pattern ="[0-9]{11}";
  String str=telNum;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入11位的手機號碼");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶輸入地址的驗證
 @SuppressWarnings("resource")
 public String addressRegex(String address){
  String pattern ="[a-zA-Z[0-9]]{1,15}";
  String str=address;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入1到15個英文大小寫或是數(shù)字");
    str=sc.nextLine();
    continue;
   }
  }
 }
}

Menu類代碼的具體實現(xiàn):

package com.bjsxt.iphone;
public class Menu {
 //主界面
 public void mainMenu() {
  System.out.println("*************************");
  System.out.println("**  1 添加記錄  **");
  System.out.println("**  2 查找記錄  **");
  System.out.println("**  3 修改記錄  **");
  System.out.println("**  4 刪除記錄  **");
  System.out.println("**  5 排序記錄  **");
  System.out.println("**  6 退出系統(tǒng)  **");
  System.out.println("*************************");
 }

 //添加界面
 public void addMenu () {
  System.out.println("*************************");
  System.out.println("**  1 添加新記錄  **");
  System.out.println("**  2 查看全記錄  **");
  System.out.println("**  3 返回上一級  **");
  System.out.println("*************************");
 }

 //查找界面
 public void searchMenu () {
  System.out.println("*************************");
  System.out.println("**  1 按姓名查找  **");
  System.out.println("**  2 按年齡查找  **");
  System.out.println("**  3 按性別查找  **");
  System.out.println("**  4 按號碼查找  **");
  System.out.println("**  5 按住址查找  **");
  System.out.println("**  6 查看全記錄  **");
  System.out.println("**  7 返回上一級  **");
  System.out.println("*************************");
 }

 //修改界面
 public void modifyMenu () {
  System.out.println("*************************");
  System.out.println("**  1 查看全記錄   **");
  System.out.println("**  2 修改指定記錄  **");
  System.out.println("**  3 返回上一級   **");
  System.out.println("*************************");
 }
 //修改子界面
 public void subModifyMenu () {
  System.out.println("*************************");
  System.out.println("**  1 修改姓名    **");
  System.out.println("**  2 修改年齡    **");
  System.out.println("**  3 修改性別    **");
  System.out.println("**  4 修改號碼    **");
  System.out.println("**  5 修改住址    **");
  System.out.println("**  6 返回上一級  **");
  System.out.println("*************************");
 }

 //刪除界面
 public void deleteMenu () {
  System.out.println("*************************");
  System.out.println("**  1 查看全記錄  **");
  System.out.println("**  2 刪除指定記錄 **");
  System.out.println("**  3 刪除全部記錄 **");
  System.out.println("**  4 返回上一級  **");
  System.out.println("*************************");
 }
 //排序界面
 public void orderMenu () {
  System.out.println("*************************");
  System.out.println("**  1 按姓名排序   **");
  System.out.println("**  2 按年齡排序  **");
  System.out.println("**  3 按性別排序  **");
  System.out.println("**  4 查看全部記錄 **");
  System.out.println("**  5 返回上一級  **");
  System.out.println("*************************");
 }
}

Operate類的具體實現(xiàn):

package com.bjsxt.iphone;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class Operate{

 private List<Person> list=new ArrayList<Person>();
 //用戶添加信息業(yè)務(wù)邏輯控制
 public void addLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.addMenu();
   int key=reg.menuRegex(1, 3);
   switch(key){
   case 1:
    addOperation ();
    break;
   case 2:
    showAll();
    break;
   case 3:
    return;
   }
  }
 }

 //用戶查詢信息業(yè)務(wù)邏輯控
 public void searchLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.searchMenu();
   int key=reg.menuRegex(1, 7);
   switch(key){
   case 1:
    searchByName();
    break;
   case 2:
    searchByAge();
    break;
   case 3:
    searchBySex();
    break;
   case 4:
    searchByTelNum();
    break;
   case 5:
    searchByAdd();
    break;
   case 6:
    showAll();
    break;
   case 7:
    return;
   }
  }
 }
 //修改信息業(yè)務(wù)邏輯控制
 public void modifyLogicLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.modifyMenu();
   int key=reg.menuRegex(1, 3);
   switch(key){
   case 1:
    showAll();
    break;
   case 2:
    modifyLogicLogic1();
    break;
   case 3:
    return;
   }
  }
 }
 //修改有三層跳轉(zhuǎn)
 public void modifyLogicLogic1(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.subModifyMenu();
   int key=reg.menuRegex(1, 6);
   switch(key){
   case 1:
    nameModify();
    break;
   case 2:
    ageModify();
    break;
   case 3:
    sexModify();
    break;
   case 4:
    telNumModify();
    break;
   case 5:
    addressModify();
    break;
   case 6:
    return;
   }
  }
 }
 //刪除信息業(yè)務(wù)邏輯控制
 public void deleteLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.deleteMenu();
   int key=reg.menuRegex(1, 4);
   switch(key){
   case 1:
    showAll();
    break;
   case 2:
    delete();
    break;
   case 3:
    deleteAll();
    break;
   case 4:
    return;
   }
  }
 }

 //排序信息業(yè)務(wù)邏輯控制
 public void orderLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.orderMenu();
   int key=reg.menuRegex(1, 5);
   switch(key){
   case 1:
    orderName();
    break;
   case 2:
    orderAge();
    break;
   case 3:
    orderSex();
    break;
   case 4:
    showAll();
    break;
   case 5:
    return;
   }
  }
 }

 //添加新用戶信息
 @SuppressWarnings("resource")
 public void addOperation (){
   TelNoteRegex reg=new TelNoteRegex();
   Scanner sc=new Scanner(System.in); 
   System.out.println("請輸入聯(lián)系人id:");
   String id=sc.nextLine(); 
   System.out.println("請輸入要添加的姓名:");
   String name=sc.nextLine();
   name=reg.nameRegex(name);
   System.out.println("請輸入要添加的年齡:");
   String age=sc.nextLine();
   age=reg.ageRegex(age);
   System.out.println("請輸入要添加的性別:");
   String sex=sc.nextLine();
   sex=reg.sexRegex(sex);
   System.out.println("請輸入要添加的手機號碼:");
   String telNum=sc.nextLine();
   telNum=reg.telNumRegex(telNum);
   System.out.println("請輸入要添加的地址:");
   String address=sc.nextLine();
   address=reg.addressRegex(address);
   int personId=Integer.parseInt(id);
   Person p=new Person(personId,name,age,sex,telNum,address);
   list.add(p);

 }
// //判斷序號是否已經(jīng)存在插入成功失敗
//   @SuppressWarnings("resource")
//   public String judgeId(String id){
//    Scanner sc=new Scanner(System.in);
//    Iterator<Person> it=list.iterator();
//    String newId=id;
//    while(it.hasNext()){
//     Person p=(Person)it.next();
//     if(newId.equals(p.getId())){
//      System.out.println("此序號已經(jīng)存在,請重新輸入序號");
//      newId=sc.nextLine();
//      continue;
//     }else{
//      return newId;
//     }
//    }
//    return id;
//   }

 //查詢?nèi)坑脩粜畔?
 public void showAll(){
  System.out.println("序號\t\t"+"姓名\t\t"+"年齡\t\t"+"性別\t\t"+"手機號\t\t"+"地址");
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
  }
 }
 //按姓名查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByName(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的姓名:");
  Scanner sc=new Scanner(System.in);
  String name=sc.nextLine();
  name=reg.nameRegex(name);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(name.equals(p.getName())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按年齡查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByAge(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的年齡:");
  Scanner sc=new Scanner(System.in);
  String age=sc.nextLine();
  age=reg.ageRegex(age);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(age.equals(p.getAge())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按性別查詢用戶信息
 @SuppressWarnings("resource")
 public void searchBySex(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的性別:");
  Scanner sc=new Scanner(System.in);
  String sex=sc.nextLine();
  sex=reg.sexRegex(sex);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(sex.equals(p.getSex())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按電話號碼查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByTelNum(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的電話號碼:");
  Scanner sc=new Scanner(System.in);
  String telNum=sc.nextLine();
  telNum=reg.telNumRegex(telNum);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(telNum.equals(p.getTelNum())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按地址查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByAdd(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的地址:");
  Scanner sc=new Scanner(System.in);
  String address=sc.nextLine();
  address=reg.addressRegex(address);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(address.equals(p.getAddress())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
// //修改指定記錄信息
// public void modify(){
//  System.out.println("請輸入你要修改的信息:");
//  
// }
 //修改姓名信息
 @SuppressWarnings("resource")
 public void nameModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的姓名:");
  String name=sc.nextLine();
  name=reg.nameRegex(name);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setName(name);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }

 }
 //修改年齡信息
 @SuppressWarnings("resource")
 public void ageModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的年齡:");
  String age=sc.nextLine();
  age=reg.ageRegex(age);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setAge(age);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }
 //修改性別信息
 @SuppressWarnings("resource")
 public void sexModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的性別:");
  String sex=sc.nextLine();
  sex=reg.sexRegex(sex);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setSex(sex);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }
 //修改號碼信息
 @SuppressWarnings("resource")
 public void telNumModify(){
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的電話號碼:");
  String telNum=sc.nextLine();
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setTelNum(telNum);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }
 //修改地址信息
 @SuppressWarnings("resource")
 public void addressModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的地址:");
  String address=sc.nextLine();
  address=reg.addressRegex(address);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setAddress(address);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }

 //刪除指定用戶信息
 @SuppressWarnings("resource")
 public void delete(){
  System.out.println("請輸入你要刪除的id:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
    if(id==p.getId()){
     list.remove(id);
     System.out.println("刪除成功");
    }else{
     System.out.println("刪除失敗");
    }

  }

 }
 //刪除全部用戶信息
 public void deleteAll(){
  list.clear();
  System.out.println("刪除成功");
 }
 //按用戶姓名排序信息
 public void orderName(){
  Comparator<Person> comparator=new Comparator<Person>(){
   @Override
   public int compare(Person o1, Person o2) { 
    return o1.getName().compareTo(o2.getName());
   }
  };
  Collections.sort(list,comparator);
  showAll();
 }
 //按用戶年齡排序信息
 public void orderAge(){
  Comparator<Person> comparator=new Comparator<Person>(){
   @Override
   public int compare(Person o1, Person o2) { 
    return o1.getAge().compareTo(o2.getAge());
   }
  };
  Collections.sort(list,comparator);
  showAll();
 }
 //按用戶性別排序信息
 public void orderSex(){
  Comparator<Person> comparator=new Comparator<Person>(){
   @Override
   public int compare(Person o1, Person o2) { 
    return o1.getSex().compareTo(o2.getSex());
   }
  };
  Collections.sort(list,comparator);
  showAll();
 }
}

總結(jié):這個項目讓我很清晰可以明白什么是面向?qū)ο?,為什么說是java是面向?qū)ο蟮木幊陶Z言,程序的代碼都是對象在調(diào)用,也明白一個項目應(yīng)該如何分工明確進行書寫,功能和視圖要分開,每個類都有自己特定的功能,各個類的功能不要相互卸載一起,這樣的代碼基本是復用不高的,如果分開明確,以后再添加功能模塊的時候,只需要增加功能,無需修改之前的代碼,很好的體現(xiàn)了開閉原則,對功能開發(fā),對修改內(nèi)容關(guān)閉,這個項目也體現(xiàn)了MVC的設(shè)計模式,對我而言,這個項目讓我受益匪淺。

相關(guān)文章

  • 解決Jackson解析嵌套類問題(MismatchedInputException)

    解決Jackson解析嵌套類問題(MismatchedInputException)

    這篇文章主要介紹了解決Jackson解析嵌套類問題(MismatchedInputException),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java8、jdk8日期轉(zhuǎn)化成字符串詳解

    java8、jdk8日期轉(zhuǎn)化成字符串詳解

    在本篇文章中小編給大家整理了關(guān)于java8、jdk8日期轉(zhuǎn)化成字符串的相關(guān)知識點和代碼,需要的朋友們學習下。
    2019-04-04
  • Springboot基于Redisson實現(xiàn)Redis分布式可重入鎖源碼解析

    Springboot基于Redisson實現(xiàn)Redis分布式可重入鎖源碼解析

    這篇文章主要介紹了Springboot基于Redisson實現(xiàn)Redis分布式可重入鎖,本文通過案例源碼分析給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • java實現(xiàn)圖書管理系統(tǒng)

    java實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • java 實現(xiàn)回調(diào)代碼實例

    java 實現(xiàn)回調(diào)代碼實例

    本文主要介紹Java的回調(diào)機制,并附實例代碼以供大家參考學習,有需要的小伙伴可以看下
    2016-07-07
  • Java正則提取中括號中的內(nèi)容操作示例

    Java正則提取中括號中的內(nèi)容操作示例

    這篇文章主要介紹了Java正則提取中括號中的內(nèi)容操作,涉及Java針對字符串的正則匹配、轉(zhuǎn)換、遍歷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • Java結(jié)構(gòu)型模式之門面模式詳解

    Java結(jié)構(gòu)型模式之門面模式詳解

    門面模式又叫外觀模式(Facade Pattern),主要用于隱藏系統(tǒng)的復雜性,并向客戶端提供了一個客戶端可以訪問系統(tǒng)的接口,本文通過實例代碼給大家介紹下java門面模式的相關(guān)知識,感興趣的朋友一起看看吧
    2023-02-02
  • SpringMVC之@requestBody的作用及說明

    SpringMVC之@requestBody的作用及說明

    這篇文章主要介紹了SpringMVC之@requestBody的作用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • mybatis多對多關(guān)聯(lián)實戰(zhàn)教程(推薦)

    mybatis多對多關(guān)聯(lián)實戰(zhàn)教程(推薦)

    下面小編就為大家?guī)硪黄猰ybatis多對多關(guān)聯(lián)實戰(zhàn)教程(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • SpringBoot讀取配置文件的四種方式

    SpringBoot讀取配置文件的四種方式

    在 Spring Boot 中,application.yml 文件用于配置應(yīng)用程序的屬性,Spring Boot 默認會從 src/main/resources 目錄下的 application.properties 或 application.yml 文件中讀取配置,本文介紹了SpringBoot讀取配置文件的四種方式,需要的朋友可以參考下
    2024-08-08

最新評論

静乐县| 高邑县| 太谷县| 桂东县| 桑日县| 新巴尔虎左旗| 扎兰屯市| 德庆县| 高邮市| 富川| 安国市| 平安县| 聊城市| 徐闻县| 寿阳县| 天等县| 井冈山市| 长葛市| 乌鲁木齐市| 肇源县| 增城市| 武宣县| 澜沧| 扎兰屯市| 洪洞县| 会昌县| 手游| 祁阳县| 定南县| 思南县| 大冶市| 高安市| 囊谦县| 灌云县| 始兴县| 沐川县| 上栗县| 东乌珠穆沁旗| 凌云县| 彰化市| 临安市|