第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

帶有下劃線 (_) 的 Java BeanUtils 未知屬性

帶有下劃線 (_) 的 Java BeanUtils 未知屬性

繁華開滿天機(jī) 2023-03-31 09:31:05
我無法從使用 的類中獲取帶下劃線的屬性(例如:User_Name)BeanUtils.getProperty(bean, property),它總是拋出錯(cuò)誤:“類‘User’上的未知屬性‘User_Name’”。但是當(dāng)我調(diào)試 bean 時(shí),它具有 User_Name 屬性。BeanUtils.getProperty(bean, propertyName);用戶類是public class User {    private String ID;    private String User_Name;    public void setID(String ID) {        this.ID = ID;    }    public String getUser_Name() {        return this.User_Name;    }    public void setUser_Name(String user_Name) {        this.User_Name = user_Name;    }}
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

這是命名約定的問題。

...因此,當(dāng)我們從現(xiàn)有 Java 名稱的中間提取屬性或事件名稱時(shí),我們通常會(huì)將第一個(gè)字符轉(zhuǎn)換為小寫*case 1。然而,為了支持偶爾使用所有大寫名稱,我們檢查名稱的前兩個(gè)字符*case 2是否都是大寫,如果是,就不要管它。例如,

'FooBah' 變成 'fooBah'
'Z' 變成 'z'
'URL' 變成 'URL'

我們提供了一個(gè) Introspector.decapitalize 方法來實(shí)現(xiàn)這個(gè)轉(zhuǎn)換規(guī)則

因此,對于您給定的類,根據(jù) *case1推導(dǎo)出的屬性是“user_Name”getUser_Name()而不是“User_Name”。setUser_Name()并且getProperty(bean, "ID")根據(jù) *case 2 進(jìn)行調(diào)用。

為解決該問題,請根據(jù)Java 命名規(guī)范更新命名,屬性和方法應(yīng)以小寫字母開頭,并使用camelCase而不是snake_case來分隔單詞。請記住,遵循約定在編程中非常重要。下面以更新后的類為例。

import java.lang.reflect.InvocationTargetException;


import org.apache.commons.beanutils.BeanUtils;


public class User {

? ? private String ID;

? ? private String userName;


? ? public String getID() {

? ? ? ? return ID;

? ? }


? ? public void setID(String ID) {

? ? ? ? this.ID = ID;

? ? }


? ? public String getUserName() {

? ? ? ? return userName;

? ? }


? ? public void setUserName(String userName) {

? ? ? ? this.userName = userName;

? ? }


? ? public static void main(String[] args)

? ? ? ? ? ? throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {

? ? ? ? User bean = new User();

? ? ? ? bean.setUserName("name");

? ? ? ? System.out.println(BeanUtils.getProperty(bean, "userName"));

? ? }

}


查看完整回答
反對 回復(fù) 2023-03-31
  • 1 回答
  • 0 關(guān)注
  • 212 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)