String

本文详细介绍了Java中String类的构造函数和方法。构造函数分为常用、几乎不用和过时的;方法则涵盖常用、很少用、多余、难用等类型。其中难用的方法多与正则表达式有关,还对一些设为public但使用场景有限的方法提出疑问。

public final class String implements java.io.Serializable, Comparable, CharSequence

1.构造函数

其实一般String都不用构造函数,直接用=号就可以了.

a.常用的构造函数:

public String(char value[])
public String(char value[], int offset, int count)

b.几乎不用的构造函数

public String()//几乎不使用
public String(String original)
几乎不用,应该使用String s="HelloWorld";而不是String s=new String("HelloWorld");
public String(byte bytes[], int offset, int length, String charsetName)
public String(byte bytes[], String charsetName)
public String(byte bytes[], int offset, int length)
public String(byte bytes[])
我都不知道还有这些

c.过时的

public String(byte ascii[], int hibyte, int offset, int count)
public String(byte ascii[], int hibyte)

2.常用方法


public int length()//该方法返回字符串长度,也就是字符的个数,不是字节大小,求字节大小应该为2*length()
public char charAt(int index)//指定位置的字符
public boolean equals(Object anObject)//比较两个字符串
public boolean equalsIgnoreCase(String anotherString)//比较两个字符串,忽略大小写
public byte[] getBytes()
public byte[] getBytes(String charsetName)
public boolean startsWith(String prefix, int toffset)
public boolean startsWith(String prefix)
public boolean endsWith(String suffix)
public int hashCode()
public int indexOf(int ch)
public int indexOf(int ch, int fromIndex)
public int lastIndexOf(int ch)
public int lastIndexOf(int ch, int fromIndex)
public int indexOf(String str)
public int indexOf(String str, int fromIndex)
public int lastIndexOf(String str)
public int lastIndexOf(String str, int fromIndex)
public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)
public CharSequence subSequence(int beginIndex, int endIndex)
public String replace(char oldChar, char newChar)
public String toLowerCase(Locale locale)
public String toLowerCase()
public String toUpperCase(Locale locale)
public String toUpperCase()
public String trim()
public char[] toCharArray()
public static String valueOf(Object obj)
public static String valueOf(char data[])
public static String valueOf(char data[], int offset, int count)
public static String valueOf(boolean b)
public static String valueOf(char c)
public static String valueOf(int i)
public static String valueOf(long l)
public static String valueOf(float f)
public static String valueOf(double d)

3.很少用的方法

public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin)
public void getBytes(int srcBegin, int srcEnd, byte dst[], int dstBegin)
public boolean contentEquals(StringBuffer sb)
public int compareTo(String anotherString)
public int compareTo(Object o)//实现Comparable接口的方法
public int compareToIgnoreCase(String str)
public String concat(String str)//因为可以用+号,所以很少用这个了
public String toString()
public native String intern()

4.多余的方法


public static String copyValueOf(char data[], int offset, int count)
public static String copyValueOf(char data[])

5.难用的方法

public boolean matches(String regex)
public String replaceFirst(String regex, String replacement)
public String replaceAll(String regex, String replacement)
public String[] split(String regex, int limit)
public String[] split(String regex)
//以上方法都和正则表达式有关,是比较难用的.

6.想不通的

public static final Comparator CASE_INSENSITIVE_ORDER
//这个是用来实现比较String大小写不敏感的比较器,为什么要设为public呢,它只对String有用,根本就不应该为public.

public boolean regionMatches(int toffset, String other, int ooffset,int len)
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
//我认为这两个也不应该public

package com.hand.xmc.domain.entity; import com.fasterxml.jackson.annotation.JsonInclude; import io.choerodon.mybatis.annotation.ModifyAudit; import io.choerodon.mybatis.annotation.VersionAudit; import io.choerodon.mybatis.domain.AuditDomain; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.Date; import lombok.Getter; import lombok.Setter; /** * (XmcPoDetl)实体类 * * @author * @since 2025-08-28 19:53:40 */ @Getter @Setter @ApiModel("") @VersionAudit @ModifyAudit @JsonInclude(value = JsonInclude.Include.NON_NULL) @Table(name = "xmc_PO_DETL") public class XmcPoDetl extends AuditDomain { private static final long serialVersionUID = 151281194307845682L; public static final String FIELD_POITEM_ID = "poitemId"; public static final String FIELD_POITEM_ID = "poitemId"; public static final String FIELD_PO_ID = "poId"; public static final String FIELD_PO_ID = "poId"; public static final String FIELD_PO_NO = "poNo"; public static final String FIELD_PO_NO = "poNo"; public static final String FIELD_PO_ITEM = "poItem"; public static final String FIELD_PO_ITEM = "poItem"; public static final String FIELD_PLANT = "plant"; public static final String FIELD_PLANT = "plant"; public static final String FIELD_MAT_GRP = "matGrp"; public static final String FIELD_MAT_GRP = "matGrp"; public static final String FIELD_MC_NO = "mcNo"; public static final String FIELD_MC_NO = "mcNo"; public static final String FIELD_MC_DESC = "mcDesc"; public static final String FIELD_MC_DESC = "mcDesc"; public static final String FIELD_ITEM_QTY = "itemQty"; public static final String FIELD_ITEM_QTY = "itemQty"; public static final String FIELD_UNIT = "unit"; public static final String FIELD_UNIT = "unit"; public static final String FIELD_UNIT_PRICE = "unitPrice"; public static final String FIELD_UNIT_PRICE = "unitPrice"; public static final String FIELD_TOTAL_AMOUT = "totalAmout"; public static final String FIELD_TOTAL_AMOUT = "totalAmout"; public static final String FIELD_INFO_REC = "infoRec"; public static final String FIELD_INFO_REC = "infoRec"; public static final String FIELD_VEND_MAT = "vendMat"; public static final String FIELD_VEND_MAT = "vendMat"; public static final String FIELD_TAX_CODE = "taxCode"; public static final String FIELD_TAX_CODE = "taxCode"; public static final String FIELD_DELIV_COMPL_FLAG = "delivComplFlag"; public static final String FIELD_DELIV_COMPL_FLAG = "delivComplFlag"; public static final String FIELD_DELIV_DATE = "delivDate"; public static final String FIELD_DELIV_DATE = "delivDate"; public static final String FIELD_ITEM_CAT = "itemCat"; public static final String FIELD_ITEM_CAT = "itemCat"; public static final String FIELD_PR_NO = "prNo"; public static final String FIELD_PR_NO = "prNo"; public static final String FIELD_PR_ITEM = "prItem"; public static final String FIELD_PR_ITEM = "prItem"; public static final String FIELD_ACCT_ASSCAT = "acctAsscat"; public static final String FIELD_ACCT_ASSCAT = "acctAsscat"; public static final String FIELD_GR_FLAG = "grFlag"; public static final String FIELD_GR_FLAG = "grFlag"; public static final String FIELD_GR_BY = "grBy"; public static final String FIELD_GR_BY = "grBy"; public static final String FIELD_DEL_FLAG = "delFlag"; public static final String FIELD_DEL_FLAG = "delFlag"; public static final String FIELD_PO_REF_NO = "poRefNo"; public static final String FIELD_PO_REF_NO = "poRefNo"; public static final String FIELD_REMAIN_BALANCE_FLAG = "remainBalanceFlag"; public static final String FIELD_REMAIN_BALANCE_FLAG = "remainBalanceFlag"; public static final String FIELD_SAP_UDATE = "sapUdate"; public static final String FIELD_SAP_UDATE = "sapUdate"; public static final String FIELD_FORECAST_DELIV_DATE = "forecastDelivDate"; public static final String FIELD_FORECAST_DELIV_DATE = "forecastDelivDate"; public static final String FIELD_RECEIVE_QTY = "receiveQty"; public static final String FIELD_RECEIVE_QTY = "receiveQty"; public static final String FIELD_RECEIVE_PERCENT = "receivePercent"; public static final String FIELD_RECEIVE_PERCENT = "receivePercent"; public static final String FIELD_EQ_SEQ_ID = "eqSeqId"; public static final String FIELD_EQ_SEQ_ID = "eqSeqId"; public static final String FIELD_MANUFACTURER = "manufacturer"; public static final String FIELD_MANUFACTURER = "manufacturer"; public static final String FIELD_EQ_MAKER_PART_NO = "eqMakerPartNo"; public static final String FIELD_EQ_MAKER_PART_NO = "eqMakerPartNo"; public static final String FIELD_GL_ACCT = "glAcct"; public static final String FIELD_GL_ACCT = "glAcct"; public static final String FIELD_TAX_FREE_ENG = "taxFreeEng"; public static final String FIELD_TAX_FREE_ENG = "taxFreeEng"; public static final String FIELD_TAX_FREE_CHI = "taxFreeChi"; public static final String FIELD_TAX_FREE_CHI = "taxFreeChi"; public static final String FIELD_DRAW_DOC = "drawDoc"; public static final String FIELD_DRAW_DOC = "drawDoc"; public static final String FIELD_DOC_VEND_MAT = "docVendMat"; public static final String FIELD_DOC_VEND_MAT = "docVendMat"; public static final String FIELD_ORIGINAL_MC_NO = "originalMcNo"; public static final String FIELD_ORIGINAL_MC_NO = "originalMcNo"; public static final String FIELD_PRICE_UNIT = "priceUnit"; public static final String FIELD_PRICE_UNIT = "priceUnit"; public static final String FIELD_REQUISITIONER = "requisitioner"; public static final String FIELD_REQUISITIONER = "requisitioner"; public static final String FIELD_FINAL_INVOICE_FLAG = "finalInvoiceFlag"; public static final String FIELD_FINAL_INVOICE_FLAG = "finalInvoiceFlag"; public static final String FIELD_FREE_FLAG = "freeFlag"; public static final String FIELD_FREE_FLAG = "freeFlag"; public static final String FIELD_IR_QTY = "irQty"; public static final String FIELD_IR_QTY = "irQty"; public static final String FIELD_IR_AMOUNT = "irAmount"; public static final String FIELD_IR_AMOUNT = "irAmount"; public static final String FIELD_INVOICE_PLAN_FLAG = "invoicePlanFlag"; public static final String FIELD_INVOICE_PLAN_FLAG = "invoicePlanFlag"; public static final String FIELD_GR_NOVALUE_FLAG = "grNovalueFlag"; public static final String FIELD_GR_NOVALUE_FLAG = "grNovalueFlag"; public static final String FIELD_UNLOAD_POINT = "unloadPoint"; public static final String FIELD_UNLOAD_POINT = "unloadPoint"; public static final String FIELD_ASSET_NO = "assetNo"; public static final String FIELD_ASSET_NO = "assetNo"; public static final String FIELD_ASSET_SUBNO = "assetSubno"; public static final String FIELD_ASSET_SUBNO = "assetSubno"; public static final String FIELD_COST_CENTER = "costCenter"; public static final String FIELD_COST_CENTER = "costCenter"; public static final String FIELD_COAREA = "coarea"; public static final String FIELD_COAREA = "coarea"; public static final String FIELD_COMMIT_ITEM = "commitItem"; public static final String FIELD_COMMIT_ITEM = "commitItem"; public static final String FIELD_FUND_YEAR = "fundYear"; public static final String FIELD_FUND_YEAR = "fundYear"; public static final String FIELD_FUND_CENTER = "fundCenter"; public static final String FIELD_FUND_CENTER = "fundCenter"; public static final String FIELD_CDATE = "cdate"; public static final String FIELD_CDATE = "cdate"; public static final String FIELD_UDATE = "udate"; public static final String FIELD_UDATE = "udate"; public static final String FIELD_SHIP_QTY = "shipQty"; public static final String FIELD_SHIP_QTY = "shipQty"; public static final String FIELD_SHIP_AMOUNT = "shipAmount"; public static final String FIELD_SHIP_AMOUNT = "shipAmount"; public static final String FIELD_AUTO_ACTION = "autoAction"; public static final String FIELD_AUTO_ACTION = "autoAction"; public static final String FIELD_REM_SHELF_LIFE = "remShelfLife"; public static final String FIELD_REM_SHELF_LIFE = "remShelfLife"; public static final String FIELD_RFQ_NO = "rfqNo"; public static final String FIELD_RFQ_NO = "rfqNo"; public static final String FIELD_RFQ_ITEM = "rfqItem"; public static final String FIELD_RFQ_ITEM = "rfqItem"; public static final String FIELD_INFOUPDATE_FLAG = "infoupdateFlag"; public static final String FIELD_INFOUPDATE_FLAG = "infoupdateFlag"; public static final String FIELD_FACILITY_PO_STATUS = "facilityPoStatus"; public static final String FIELD_FACILITY_PO_STATUS = "facilityPoStatus"; public static final String FIELD_TMP_DEL = "tmpDel"; public static final String FIELD_TMP_DEL = "tmpDel"; public static final String FIELD_PRICE_PRIORITY = "pricePriority"; public static final String FIELD_PRICE_PRIORITY = "pricePriority"; public static final String FIELD_BUDGET_CODE = "budgetCode"; public static final String FIELD_BUDGET_CODE = "budgetCode"; public static final String FIELD_COST_CATEGORY = "costCategory"; public static final String FIELD_COST_CATEGORY = "costCategory"; public static final String FIELD_ECCN = "eccn"; public static final String FIELD_ECCN = "eccn"; public static final String FIELD_COSTDOWN_BASE = "costdownBase"; public static final String FIELD_COSTDOWN_BASE = "costdownBase"; @ApiModelProperty("采购订单项ID") @Id @GeneratedValue private Long poitemId; @ApiModelProperty("采购订单项ID") @Id @GeneratedValue private Long poitemId; @ApiModelProperty(value = "采购订单主表ID") private Long poId; @ApiModelProperty(value = "采购订单主表ID") private Long poId; @ApiModelProperty(value = "采购订单编号") private String poNo; @ApiModelProperty(value = "采购订单编号") private String poNo; @ApiModelProperty(value = "采购订单行项目号") private String poItem; @ApiModelProperty(value = "采购订单行项目号") private String poItem; @ApiModelProperty(value = "工厂") private String plant; @ApiModelProperty(value = "工厂") private String plant; @ApiModelProperty(value = "物料组") private String matGrp; @ApiModelProperty(value = "物料组") private String matGrp; @ApiModelProperty(value = "物料编码") private String mcNo; @ApiModelProperty(value = "物料编码") private String mcNo; @ApiModelProperty(value = "物料描述") private String mcDesc; @ApiModelProperty(value = "物料描述") private String mcDesc; @ApiModelProperty(value = "采购数量") private Long itemQty; @ApiModelProperty(value = "采购数量") private Long itemQty; @ApiModelProperty(value = "单位") private String unit; @ApiModelProperty(value = "单位") private String unit; @ApiModelProperty(value = "单价") private Long unitPrice; @ApiModelProperty(value = "单价") private Long unitPrice; @ApiModelProperty(value = "总金额") private Long totalAmout; @ApiModelProperty(value = "总金额") private Long totalAmout; @ApiModelProperty(value = "信息记录号") private String infoRec; @ApiModelProperty(value = "信息记录号") private String infoRec; @ApiModelProperty(value = "供应商物料号") private String vendMat; @ApiModelProperty(value = "供应商物料号") private String vendMat; @ApiModelProperty(value = "税码") private String taxCode; @ApiModelProperty(value = "税码") private String taxCode; @ApiModelProperty(value = "交货完成标识") private String delivComplFlag; @ApiModelProperty(value = "交货完成标识") private String delivComplFlag; @ApiModelProperty(value = "交货日期") private Date delivDate; @ApiModelProperty(value = "交货日期") private Date delivDate; @ApiModelProperty(value = "项目类别") private String itemCat; @ApiModelProperty(value = "项目类别") private String itemCat; @ApiModelProperty(value = "采购申请单号") private String prNo; @ApiModelProperty(value = "采购申请单号") private String prNo; @ApiModelProperty(value = "采购申请行项目号") private String prItem; @ApiModelProperty(value = "采购申请行项目号") private String prItem; @ApiModelProperty(value = "科目分配类别") private String acctAsscat; @ApiModelProperty(value = "科目分配类别") private String acctAsscat; @ApiModelProperty(value = "收货标识") private String grFlag; @ApiModelProperty(value = "收货标识") private String grFlag; @ApiModelProperty(value = "收货人") private String grBy; @ApiModelProperty(value = "收货人") private String grBy; @ApiModelProperty(value = "删除标识") private String delFlag; @ApiModelProperty(value = "删除标识") private String delFlag; @ApiModelProperty(value = "参考采购订单号") private String poRefNo; @ApiModelProperty(value = "参考采购订单号") private String poRefNo; @ApiModelProperty(value = "余额保留标识") private String remainBalanceFlag; @ApiModelProperty(value = "余额保留标识") private String remainBalanceFlag; @ApiModelProperty(value = "SAP更新日期") private Date sapUdate; @ApiModelProperty(value = "SAP更新日期") private Date sapUdate; @ApiModelProperty(value = "预测交货日期") private Date forecastDelivDate; @ApiModelProperty(value = "预测交货日期") private Date forecastDelivDate; @ApiModelProperty(value = "已收货数量") private Long receiveQty; @ApiModelProperty(value = "已收货数量") private Long receiveQty; @ApiModelProperty(value = "收货百分比") private Long receivePercent; @ApiModelProperty(value = "收货百分比") private Long receivePercent; @ApiModelProperty(value = "设备序列号ID") private String eqSeqId; @ApiModelProperty(value = "设备序列号ID") private String eqSeqId; @ApiModelProperty(value = "制造商") private String manufacturer; @ApiModelProperty(value = "制造商") private String manufacturer; @ApiModelProperty(value = "设备制造商零件号") private String eqMakerPartNo; @ApiModelProperty(value = "设备制造商零件号") private String eqMakerPartNo; @ApiModelProperty(value = "总账科目") private String glAcct; @ApiModelProperty(value = "总账科目") private String glAcct; @ApiModelProperty(value = "免税英文说明") private String taxFreeEng; @ApiModelProperty(value = "免税英文说明") private String taxFreeEng; @ApiModelProperty(value = "免税中文说明") private String taxFreeChi; @ApiModelProperty(value = "免税中文说明") private String taxFreeChi; @ApiModelProperty(value = "图纸文档编号") private String drawDoc; @ApiModelProperty(value = "图纸文档编号") private String drawDoc; @ApiModelProperty(value = "文档供应商物料号") private String docVendMat; @ApiModelProperty(value = "文档供应商物料号") private String docVendMat; @ApiModelProperty(value = "原始物料编码") private String originalMcNo; @ApiModelProperty(value = "原始物料编码") private String originalMcNo; @ApiModelProperty(value = "价格单位") private Long priceUnit; @ApiModelProperty(value = "价格单位") private Long priceUnit; @ApiModelProperty(value = "采购申请人") private String requisitioner; @ApiModelProperty(value = "采购申请人") private String requisitioner; @ApiModelProperty(value = "最终发票标识") private String finalInvoiceFlag; @ApiModelProperty(value = "最终发票标识") private String finalInvoiceFlag; @ApiModelProperty(value = "免费标识") private String freeFlag; @ApiModelProperty(value = "免费标识") private String freeFlag; @ApiModelProperty(value = "发票数量") private Long irQty; @ApiModelProperty(value = "发票数量") private Long irQty; @ApiModelProperty(value = "发票金额") private Long irAmount; @ApiModelProperty(value = "发票金额") private Long irAmount; @ApiModelProperty(value = "计划发票标识") private String invoicePlanFlag; @ApiModelProperty(value = "计划发票标识") private String invoicePlanFlag; @ApiModelProperty(value = "无价值收货标识") private String grNovalueFlag; @ApiModelProperty(value = "无价值收货标识") private String grNovalueFlag; @ApiModelProperty(value = "卸货点") private String unloadPoint; @ApiModelProperty(value = "卸货点") private String unloadPoint; @ApiModelProperty(value = "资产编号") private String assetNo; @ApiModelProperty(value = "资产编号") private String assetNo; @ApiModelProperty(value = "资产子编号") private String assetSubno; @ApiModelProperty(value = "资产子编号") private String assetSubno; @ApiModelProperty(value = "成本中心") private String costCenter; @ApiModelProperty(value = "成本中心") private String costCenter; @ApiModelProperty(value = "公司代码") private String coarea; @ApiModelProperty(value = "公司代码") private String coarea; @ApiModelProperty(value = "承诺项目") private String commitItem; @ApiModelProperty(value = "承诺项目") private String commitItem; @ApiModelProperty(value = "财年") private String fundYear; @ApiModelProperty(value = "财年") private String fundYear; @ApiModelProperty(value = "资金中心") private String fundCenter; @ApiModelProperty(value = "资金中心") private String fundCenter; @ApiModelProperty(value = "创建日期") private Date cdate; @ApiModelProperty(value = "创建日期") private Date cdate; @ApiModelProperty(value = "更新日期") private Date udate; @ApiModelProperty(value = "更新日期") private Date udate; @ApiModelProperty(value = "已发运数量") private Long shipQty; @ApiModelProperty(value = "已发运数量") private Long shipQty; @ApiModelProperty(value = "发运金额") private Long shipAmount; @ApiModelProperty(value = "发运金额") private Long shipAmount; @ApiModelProperty(value = "自动操作标识") private String autoAction; @ApiModelProperty(value = "自动操作标识") private String autoAction; @ApiModelProperty(value = "剩余保质期") private Long remShelfLife; @ApiModelProperty(value = "剩余保质期") private Long remShelfLife; @ApiModelProperty(value = "询价单号") private String rfqNo; @ApiModelProperty(value = "询价单号") private String rfqNo; @ApiModelProperty(value = "询价单行项目号") private String rfqItem; @ApiModelProperty(value = "询价单行项目号") private String rfqItem; @ApiModelProperty(value = "信息更新标识") private String infoupdateFlag; @ApiModelProperty(value = "信息更新标识") private String infoupdateFlag; @ApiModelProperty(value = "设备采购状态") private String facilityPoStatus; @ApiModelProperty(value = "设备采购状态") private String facilityPoStatus; @ApiModelProperty(value = "临时删除标识") private String tmpDel; @ApiModelProperty(value = "临时删除标识") private String tmpDel; @ApiModelProperty(value = "价格优先级") private String pricePriority; @ApiModelProperty(value = "价格优先级") private String pricePriority; @ApiModelProperty(value = "预算代码") private String budgetCode; @ApiModelProperty(value = "预算代码") private String budgetCode; @ApiModelProperty(value = "成本类别") private String costCategory; @ApiModelProperty(value = "成本类别") private String costCategory; @ApiModelProperty(value = "出口管制分类编号") private String eccn; @ApiModelProperty(value = "出口管制分类编号") private String eccn; @ApiModelProperty(value = "成本降低基准") private Long costdownBase; @ApiModelProperty(value = "成本降低基准") private Long costdownBase; } 去掉重复的
最新发布
08-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值