blob: 4ef0f4850b24a703d5eda18fffd6f445b56f5d4c [file] [log] [blame]
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright 2010 Oracle and/or its affiliates. All rights reserved.
#
# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
# Other names may be trademarks of their respective owners.
#
# The contents of this file are subject to the terms of either the GNU
# General Public License Version 2 only ("GPL") or the Common
# Development and Distribution License("CDDL") (collectively, the
# "License"). You may not use this file except in compliance with the
# License. You can obtain a copy of the License at
# http://www.netbeans.org/cddl-gplv2.html
# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
# specific language governing permissions and limitations under the
# License. When distributing the software, include this License Header
# Notice in each file and include the License file at
# nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the GPL Version 2 section of the License file that
# accompanied this code. If applicable, add the following below the
# License Header, with the fields enclosed by brackets [] replaced by
# your own identifying information:
# "Portions Copyrighted [year] [name of copyright owner]"
#
# If you wish your version of this file to be governed by only the CDDL
# or only the GPL Version 2, indicate your decision by adding
# "[Contributor] elects to include this software in this distribution
# under the [CDDL or GPL Version 2] license." If you do not indicate a
# single choice of license, a recipient has the option to distribute
# your version of this file under either the CDDL, the GPL Version 2 or
# to extend the choice of license to its licensees as provided above.
# However, if you add GPL Version 2 code and therefore, elected the GPL
# Version 2 license, then the option applies only if the new code is
# made subject to such option by the copyright holder.
#
# Contributor(s):
#
# Portions Copyrighted 2010 Sun Microsystems, Inc.
DESC_indentation=\u53d1\u51fa\u6709\u5173\u63d0\u793a\u53ef\u80fd\u7f3a\u5c11\u5916\u5c42\u7a0b\u5e8f\u5757\u7684\u7f29\u8fdb\u8b66\u544a
# {0} - the name of the annotation
DN_AnnotationsNotRuntime_isAnnotation={0}\u6ca1\u6709\u8fd0\u884c\u65f6\u4fdd\u7559\u671f\u9650, \u7ed3\u679c\u5c06\u59cb\u7ec8\u4e3a false
# {0} - the name of the annotation
DN_AnnotationsNotRuntime_getAnnotation={0}\u6ca1\u6709\u8fd0\u884c\u65f6\u4fdd\u7559\u671f\u9650, \u7ed3\u679c\u5c06\u59cb\u7ec8\u4e3a\u7a7a\u503c
# {0} - the name of the annotation
DN_AnnotationsNotRuntime_instanceof={0}\u6ca1\u6709\u8fd0\u884c\u65f6\u4fdd\u7559\u671f\u9650, \u6761\u4ef6\u5c06\u59cb\u7ec8\u4e3a false
DN_indentation=\u6df7\u4e71\u7684\u7f29\u8fdb
#{0}: PatternSyntaxException.getDescription()
#{1}: PatternSyntaxException.getMessage()
#{2}: PatternSyntaxException.getPattern()
#{3}: PatternSyntaxException.getIndex()
DN_RegExp=\u6b63\u5219\u8868\u8fbe\u5f0f\u65e0\u6548: {0}
DN_org.netbeans.modules.java.hints.bugs.AnnotationsNotRuntime=\u6807\u6ce8\u6ca1\u6709\u8fd0\u884c\u65f6\u4fdd\u7559\u671f\u9650
DESC_org.netbeans.modules.java.hints.bugs.AnnotationsNotRuntime=\u53d1\u51fa\u6709\u5173\u5bf9\u5177\u6709\u7c7b\u6216\u6e90\u4fdd\u7559\u671f\u9650\u7684\u6807\u6ce8\u8fdb\u884c\u4e86\u53cd\u5c04\u8bbf\u95ee\u7684\u8b66\u544a
DN_org.netbeans.modules.java.hints.bugs.Regexp=\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u683c\u5f0f\u4e0d\u6b63\u786e
DESC_org.netbeans.modules.java.hints.bugs.Regexp=\u53d1\u51fa\u6709\u5173\u6b63\u5219\u8868\u8fbe\u5f0f\u683c\u5f0f\u4e0d\u6b63\u786e\u7684\u8b66\u544a
DN_org.netbeans.modules.java.hints.bugs.Tiny.stringReplaceAllDot=String.replaceAll(".", )
DESC_org.netbeans.modules.java.hints.bugs.Tiny.stringReplaceAllDot=\u67e5\u627e String.replaceAll(".", $target) \u7684\u8c03\u7528\u5b9e\u4f8b, \u5b83\u4f1a\u5c06\u6e90\u5b57\u7b26\u4e32\u7684\u6240\u6709\u5b57\u7b26\u66ff\u6362\u4e3a $target\u3002
# {0} - flag name
ERR_DuplicateFormatFlag=\u91cd\u590d\u6807\u5fd7: `{0}''
# {0} - conversion spec
# {1} - flags
ERR_FormatConversionFlags=\u6807\u5fd7 `{1}'' \u4e0e\u8f6c\u6362 `{0}'' \u4e0d\u5339\u914d
# {0} - number of parameters in format string
# {1} - actual number of passed parameters
ERR_FormatMissingParameters=\u4f20\u9012\u5230\u683c\u5f0f\u7684\u53c2\u6570\u592a\u5c11\u3002\u683c\u5f0f\u5b57\u7b26\u4e32\u9700\u8981: {0}, \u5b9e\u9645: {1}
# {0} - format string
ERR_FormatWidthRequired=\u5fc5\u987b\u4ee5 `{0}'' \u683c\u5f0f\u6307\u5b9a\u5bbd\u5ea6
ERR_indentation=\u6df7\u4e71\u7684\u7f29\u8fdb
# {0} - argument index
ERR_InvalidFormatArgumentIndex=\u65e0\u6548\u53c2\u6570\u7f16\u53f7: `{0}''
# {0} - precision specifier
ERR_InvalidFormatPrecision=\u65e0\u6548\u683c\u5f0f\u7cbe\u5ea6: `{0}''
# {0} - width specifier
ERR_InvalidFormatWidth=\u65e0\u6548\u683c\u5f0f\u5bbd\u5ea6: `{0}''
# {0} - value type [string representation]
# {1} - format specified
# {2} - parameter index
ERR_InvalidTypeForSpecifier=\u683c\u5f0f\u8bf4\u660e\u7b26 `{1}'', \u53c2\u6570{2}\u7684\u503c\u7c7b\u578b `{0}'' \u65e0\u6548
# {0} - error message
ERR_MalformedFormatString=\u683c\u5f0f\u5b57\u7b26\u4e32\u7684\u683c\u5f0f\u9519\u8bef: {0}
# {0} - xpath text
# {1} - XPath parser error message
ERR_MalformedXPathExpression=XPath \u8868\u8fbe\u5f0f{0}\u7684\u683c\u5f0f\u9519\u8bef: {1}
# {0} - argumentIndex
ERR_MessageFormatDateTime=\u53c2\u6570 {0} \u4e0d\u662f\u65e5\u671f/\u65f6\u95f4
# {0} - argument index
ERR_MessageFormatNumber=\u53c2\u6570 {0} \u4e0d\u662f\u6570\u5b57
# {0} - the original error from message format
ERR_MessageFormatStringMalformed=\u65e0\u6548\u7684\u6d88\u606f\u683c\u5f0f\u5b57\u7b26\u4e32: {0}
# {0} - the desired number of arguments
ERR_MessageFormatTooFewVals=\u4f20\u9012\u5230\u683c\u5f0f\u7684\u503c\u592a\u5c11, \u9700\u8981 {0} \u4e2a\u503c
# {0} - method name
ERR_MethodMayRecurse=\u5982\u679c\u672a\u5728\u5b50\u7c7b\u4e2d\u8986\u76d6, \u5219\u65b9\u6cd5{0}\u53ef\u80fd\u9012\u5f52
# {0} - method name
ERR_MethodWillRecurse=\u65b9\u6cd5{0}\u5c06\u65e0\u9650\u9012\u5f52
ERR_NullFormatString=\u683c\u5f0f\u5b57\u7b26\u4e32\u4e0d\u80fd\u4e3a\u7a7a\u503c
ERR_string-replace-all-dot=\u53ef\u80fd\u4e0d\u9700\u8981\u8c03\u7528 String.replaceAll(".", $target)
ERR_SyntaxError=\u8bed\u6cd5\u9519\u8bef
# {0} - the specifier char
ERR_UnknownFormatSpecifier=\u672a\u77e5\u683c\u5f0f\u8bf4\u660e\u7b26: `{0}''
# {0} - conversion flag
ERR_UnkownFormatFlag=\u672a\u77e5\u6807\u5fd7: `{0}''
FIX_AddCloneMethod=\u8986\u76d6 clone() \u65b9\u6cd5
FIX_AddCloneNotSupportedException=\u58f0\u660e CloneNotSupportedException
# {0} - constant identifier
FIX_AddMissingSwitchCase=\u5c06\u6807\u7b7e\u66ff\u6362\u4e3a switch case {0}
FIX_BroadCatchNarrowCatch=\u5728 catch \u4e2d\u4f7f\u7528\u7279\u5b9a\u7c7b\u578b
FIX_BroadCatchSplitIntoCatches=\u9488\u5bf9\u6bcf\u4e2a\u5f02\u5e38\u9519\u8bef\u7c7b\u578b\u521b\u5efa catch
FIX_BroadCatchUnionCatch=\u66f4\u6539\u4e3a multicatch
# {0} - new component type
FIX_ChangeToArrayType=\u5c06\u6570\u7ec4\u7c7b\u578b\u66f4\u6539\u4e3a {0}[]
FIX_ImplementCloneableInterface=\u5b9e\u73b0 java.lang.Cloneable
FIX_MathRandomCastInt=\u5f3a\u5236\u8f6c\u6362\u5305\u542b Math.random() \u7684\u6574\u4e2a\u8868\u8fbe\u5f0f
# {0} - new component type
FIX_ReplaceWithNewArray=\u66ff\u6362\u4e3a\u65b0\u7684 {0}[]
FIX_string-replace-all-dot=\u66ff\u6362\u4e3a\u8c03\u7528 String.replaceAll("\\.", $target)
DN_org.netbeans.modules.java.hints.bugs.CastVSInstanceOf=\u5f3a\u5236\u8f6c\u6362\u4e0e instanceof \u4e0d\u517c\u5bb9
DESC_org.netbeans.modules.java.hints.bugs.CastVSInstanceOf=\u5f3a\u5236\u8f6c\u6362\u5305\u542b\u5728\u4e0d\u517c\u5bb9\u7684 instanceof \u4e2d
ERR_CastVSInstanceOf=\u5f3a\u5236\u8f6c\u6362\u4e0e\u7ed9\u5b9a\u7684 instanceof \u4e0d\u517c\u5bb9
DN_org.netbeans.modules.java.hints.bugs.Tiny.newObject=\u65b0\u5bf9\u8c61\u7684\u7ed3\u679c\u5df2\u5ffd\u7565
DESC_org.netbeans.modules.java.hints.bugs.Tiny.newObject=\u65b0\u5bf9\u8c61\u7684\u7ed3\u679c\u5df2\u5ffd\u7565\u3002
ERR_newObject=\u65b0\u5b9e\u4f8b\u5df2\u5ffd\u7565
DN_org.netbeans.modules.java.hints.bugs.Tiny.systemArrayCopy=\u5bf9 System.arraycopy \u7684\u8c03\u7528\u53ef\u7591
DESC_org.netbeans.modules.java.hints.bugs.Tiny.systemArrayCopy=\u67e5\u627e\u5177\u6709\u8d1f\u504f\u79fb, \u957f\u5ea6, \u6216\u7528\u4e8e\u975e\u6570\u7ec4\u5bf9\u8c61\u7684 System.arraycopy \u8c03\u7528\u3002
ERR_system_arraycopy_notarray={0}\u4e0d\u662f\u6570\u7ec4\u7c7b\u578b\u7684\u5b9e\u4f8b
ERR_system_arraycopy_negative={0} \u4e3a\u8d1f\u6570
DN_org.netbeans.modules.java.hints.bugs.Tiny.equalsNull=.equals(null)
DESC_org.netbeans.modules.java.hints.bugs.Tiny.equalsNull=\u67e5\u627e\u5305\u542b\u6587\u5b57\u53c2\u6570 'null' \u7684 Object.equals \u65b9\u6cd5\u8c03\u7528\u3002
ERR_equalsNull=\u5bf9\u8c61\u6c38\u8fdc\u4e0d\u4f1a\u7b49\u4e8e "null"
FIX_equalsNull=\u4f7f\u7528 == \u800c\u4e0d\u662f equals \u65b9\u6cd5
DN_org.netbeans.modules.java.hints.bugs.Tiny.resultSet=ResultSet \u4e2d\u5b58\u5728\u9519\u8bef\u7684\u5217\u7d22\u5f15
DESC_org.netbeans.modules.java.hints.bugs.Tiny.resultSet=\u62a5\u544a\u4f20\u9012\u7ed9 java.sql.ResultSet \u7684\u5404\u79cd\u65b9\u6cd5\u7684\u9519\u8bef\u5217\u7d22\u5f15
ERR_ResultSetZero=\u5217\u7d22\u5f15\u4e3a\u96f6, \u4f46 ResultSet \u5217\u4ece 1 \u5f00\u59cb\u8ba1\u6570
ERR_ResultSetNegative=\u5217\u7d22\u5f15\u4e3a\u8d1f\u6570, \u4f46 ResultSet \u5217\u4ece 1 \u5f00\u59cb\u8ba1\u6570
DN_org.netbeans.modules.java.hints.bugs.EqualsHint.arrayEquals=\u6570\u7ec4\u4e0a\u7684 .equals
DESC_org.netbeans.modules.java.hints.bugs.EqualsHint.arrayEquals=\u6570\u7ec4\u4e0a\u7684 .equals
DN_org.netbeans.modules.java.hints.EqualsHint=\u4e0d\u517c\u5bb9\u7c7b\u578b\u4e0a\u7684 .equals
DESC_org.netbeans.modules.java.hints.EqualsHint=\u4e0d\u517c\u5bb9\u7c7b\u578b\u4e0a\u7684 .equals
FIX_ReplaceWithArraysEquals=\u66ff\u6362\u4e3a Arrays.equals
FIX_ReplaceWithInstanceEquals=\u66ff\u6362\u4e3a ==
ERR_ARRAY_EQUALS=\u5728\u6570\u7ec4\u4e0a\u8c03\u7528\u7684 .equals()
ERR_INCOMPATIBLE_EQUALS=\u4e0d\u517c\u5bb9\u7c7b\u578b\u4e0a\u7684 .equals()
# {0} - StringBuffer/StringBuilder
FIX_StringBufferCharConstructor=\u66ff\u6362\u4e3a\u65b0\u7684 {0}().append()
FIX_UseArraysDeepHashCode=\u4f7f\u7528 Arrays.deepHashCode()
FIX_UseArraysHashCode=\u4f7f\u7528 Arrays.hashCode()
FIX_UseNullSafeEquals=\u66ff\u6362\u4e3a\u7a7a\u503c\u5b89\u5168\u7684 equals()
FIX_WrapUsingArraysAsDeepList=\u4f7f\u7528 Arrays.deepToString \u5305\u88c5\u6570\u7ec4
FIX_WrapUsingArraysAsList=\u4f7f\u7528 Arrays.toString \u5305\u88c5\u6570\u7ec4
LBL_org.netbeans.modules.java.hints.bugs.EqualsHint.ERASURE_PREFS_KEY=<html>\u4f7f\u7b49\u4e8e\u63d0\u793a\u8003\u8651<br>\u6bd4\u8f83\u7c7b\u578b\u7684\u5220\u9664(&E)
OPT_ReportFinallyRethrow=\u62a5\u544a\u5df2\u6355\u83b7\u5f02\u5e38\u9519\u8bef\u7684\u91cd\u65b0\u629b\u51fa
TEXT_ArrayConcatenatedToString=\u4e0e\u5b57\u7b26\u4e32\u8fde\u63a5\u7684\u6570\u7ec4
TEXT_ArrayFormatParameter=\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u7ed9 formatter \u51fd\u6570\u7684\u6570\u7ec4\u5b9e\u4f8b
TEXT_ArrayPrintedOnStream=\u5728 PrintStream \u4e0a\u8f93\u51fa\u7684\u6570\u7ec4\u5b9e\u4f8b
TEXT_ArrayPrintedOnWriter=\u5728 PrintWriter \u4e0a\u8f93\u51fa\u7684\u6570\u7ec4\u5b9e\u4f8b
TEXT_AssertWithSideEffects=\u65ad\u8a00\u6761\u4ef6\u4ea7\u751f\u526f\u4f5c\u7528
# {0} - typename of the boxed type
TEXT_BoxedValueIdentityComparison=\u4f7f\u7528 == \u6216 != \u6bd4\u8f83\u7684{0}\u503c
# {0} - preceding items as text
# {1} - final item
TEXT_BroadCatchExceptionListEnd={0}\u548c{1}
# {0} - preceding items as text
# {1} - next item
# {0} - starting item
# {0} - the catched exception type
# {1} - the actual matching exception types
TEXT_BroadCatchMaskedExceptions=Catch({0}) \u8fc7\u4e8e\u5bbd\u6cdb, \u5b83\u6355\u83b7\u4ee5\u4e0b\u5f02\u5e38\u9519\u8bef\u7c7b\u578b: {1}
# {0} - the catched exception type
# {1} - the actual matching exception type
TEXT_BroadCatchMoreSpecificException=Catch({0}) \u8fc7\u4e8e\u5bbd\u6cdb, \u5b9e\u9645\u6355\u83b7\u7684\u5f02\u5e38\u9519\u8bef\u4e3a {1}
TEXT_CloneableWithoutClone=Cloneable \u7c7b\u672a\u5b9e\u73b0 clone()
TEXT_CloneWithoutCloneable=clone() \u5728\u975e Cloneable \u7c7b\u4e2d
TEXT_CloneWithoutCloneNotSupported=clone() \u672a\u629b\u51fa CloneNotSupportedException
TEXT_CloneWithoutSuperClone=clone() \u672a\u8c03\u7528 super.clone()
# {0} - parameter name
TEXT_ComparatorParameterNotUsed=Comparator.comparable \u4e0d\u4f7f\u7528\u53c2\u6570 ''{0}''
TEXT_ConfusingNullPassedToVararg=\u4f20\u9012\u5230 vararg \u65b9\u6cd5\u7684\u6df7\u4e71\u7684 null
TEXT_ConfusingPrimitveArrayToVararg=\u4f20\u9012\u5230 vararg \u65b9\u6cd5\u7684\u6df7\u4e71\u7684\u57fa\u672c\u6570\u7ec4
TEXT_HashCodeOnArray=\u5728\u6570\u7ec4\u5b9e\u4f8b\u4e0a\u8c03\u7528\u7684 hashCode()
TEXT_MathRandomCastInt=\u7acb\u5373\u5f3a\u5236\u8f6c\u6362\u4e3a int \u6216 long \u7684 Math.int()
TEXT_MissingSwitchCase=\u53ef\u80fd\u7f3a\u5c11 switch `case' \u8bed\u53e5
# {0} - the rogue statement
TEXT_returnBreakContinueInFinallyBlock=''finally'' \u5757\u4e2d\u7684 ''{0}'' \u8bed\u53e5\u4f1a\u653e\u5f03\u672a\u5904\u7406\u7684\u5f02\u5e38\u9519\u8bef
# {0} - StringBuffer/StringBuilder
TEXT_StringBufferCharConstructor=\u4f7f\u7528 `char'' \u53c2\u6570\u8c03\u7528\u7684{0}\u6784\u9020\u51fd\u6570
# {0} - the array type
# {1} - the collection parameter type
TEXT_SuspiciousToArrayCast=\u53ef\u7591\u7684 Collection.toArray() \u8c03\u7528\u3002\u6570\u7ec4\u7c7b\u578b {0}[] \u4e0e\u5f3a\u5236\u8f6c\u6362\u4e3a\u7684\u7c7b\u578b {1}[] \u4e0d\u76f8\u540c
# {0} - the array type
# {1} - the collection parameter type
TEXT_SuspiciousToArrayCol=\u53ef\u7591\u7684 Collection.toArray() \u8c03\u7528\u3002\u65e0\u6cd5\u5c06\u96c6\u5408\u9879\u7c7b\u578b{1}\u5206\u914d\u5230\u6570\u7ec4\u7ec4\u4ef6\u7c7b\u578b{0}
TEXT_ThrowableNotThrown=\u672a\u5f15\u53d1 Throwable \u5b9e\u4f8b
TEXT_ThrowableValueNotThrown=\u5ffd\u7565 Throwable \u65b9\u6cd5\u7ed3\u679c
TEXT_throwsInFinallyBlock='finally' \u5757\u4e2d\u7684 'throw' \u8bed\u53e5\u53ef\u80fd\u4f1a\u9690\u85cf\u539f\u59cb\u5f02\u5e38\u9519\u8bef
TEXT_ToStringCalledOnArray=\u5728\u6570\u7ec4\u5b9e\u4f8b\u4e0a\u8c03\u7528\u7684 toString()
TP_org.netbeans.modules.java.hints.bugs.EqualsHint.ERASURE_PREFS_KEY=\u6240\u505a\u7684\u7b49\u4e8e\u63d0\u793a\u5224\u5b9a\u57fa\u4e8e\u6bd4\u8f83\u7c7b\u578b\u7684\u5220\u9664
HINT_SuspiciousCall=\u5bf9{0}\u7684\u53ef\u7591\u8c03\u7528:\n\u6240\u9700\u7c7b\u578b\u4e3a{2}, \u5b9e\u9645\u7c7b\u578b\u4e3a{1}
HINT_SuspiciousCallIncompatibleTypes=\u5bf9{0}\u7684\u53ef\u7591\u8c03\u7528:\n\u7ed9\u5b9a\u5bf9\u8c61\u4e0d\u80fd\u5305\u542b{1}\u7684\u5b9e\u4f8b (\u5e94\u8be5\u4e3a{2})
DN_org.netbeans.modules.java.hints.bugs.CollectionRemove=\u53ef\u7591\u65b9\u6cd5\u8c03\u7528
DESC_org.netbeans.modules.java.hints.bugs.CollectionRemove=\u6709\u5173\u5bf9 Collection.remove/contains \u548c Map.containsKey/containsValue/remove \u7684\u53ef\u7591\u8c03\u7528\u7684\u8b66\u544a
LBL_org.netbeans.modules.java.hints.bugs.CollectionRemove.WARN_FOR_CASTABLE_KEY=\u540c\u65f6\u663e\u793a\u6709\u5173\u53ef\u5f3a\u5236\u8f6c\u6362\u7c7b\u578b\u7684\u8b66\u544a
TP_org.netbeans.modules.java.hints.bugs.CollectionRemove.WARN_FOR_CASTABLE_KEY=\u540c\u65f6\u663e\u793a\u6709\u5173\u53ef\u5f3a\u5236\u8f6c\u6362\u7c7b\u578b\u7684\u8b66\u544a
DN_org.netbeans.modules.java.hints.bugs.UnusedAssignmentOrBranch.unusedAssignment=\u672a\u4f7f\u7528\u7684\u5206\u914d
DESC_org.netbeans.modules.java.hints.bugs.UnusedAssignmentOrBranch.unusedAssignment=\u672a\u4f7f\u7528\u7684\u5206\u914d
DN_org.netbeans.modules.java.hints.bugs.UnusedAssignmentOrBranch.deadBranch=\u505c\u7528\u7684\u5206\u652f
DESC_org.netbeans.modules.java.hints.bugs.UnusedAssignmentOrBranch.deadBranch=\u505c\u7528\u7684\u5206\u652f
LBL_UNUSED_ASSIGNMENT_LABEL=\u4ece\u672a\u4f7f\u7528\u5206\u914d\u7684\u503c
LBL_DEAD_BRANCH=\u4ece\u672a\u4f7f\u7528\u5206\u652f
DN_org.netbeans.modules.java.hints.bugs.Unbalanced.Array=\u6570\u7ec4\u5177\u6709\u4e0d\u5bf9\u79f0\u7684\u8bfb\u53d6/\u5199\u5165
DESC_org.netbeans.modules.java.hints.bugs.Unbalanced.Array=\u6570\u7ec4\u5177\u6709\u4e0d\u5bf9\u79f0\u7684\u8bfb\u53d6/\u5199\u5165
ERR_UnbalancedArrayREAD=\u4ec5\u4ece\u6570\u7ec4\u4e2d\u8bfb\u53d6, \u4ece\u672a\u5199\u5165\u5230\u6570\u7ec4\u4e2d
ERR_UnbalancedArrayWRITE=\u4ec5\u5199\u5165\u5230\u6570\u7ec4\u4e2d, \u4ece\u672a\u4ece\u6570\u7ec4\u4e2d\u8bfb\u53d6
DN_org.netbeans.modules.java.hints.bugs.Unbalanced.Collection=\u96c6\u5408\u5177\u6709\u4e0d\u5bf9\u79f0\u7684\u8bfb\u53d6/\u5199\u5165
DESC_org.netbeans.modules.java.hints.bugs.Unbalanced.Collection=\u96c6\u5408\u5177\u6709\u4e0d\u5bf9\u79f0\u7684\u8bfb\u53d6/\u5199\u5165
ERR_UnbalancedCollectionREAD=\u4ece\u672a\u6dfb\u52a0\u5230\u96c6\u5408\u4e2d
ERR_UnbalancedCollectionWRITE=\u4ec5\u6dfb\u52a0\u5230\u96c6\u5408\u4e2d, \u4ece\u672a\u4ece\u96c6\u5408\u4e2d\u8bfb\u53d6
DESC_org.netbeans.modules.java.hints.bugs.CheckReturnValueHint=\u9a8c\u8bc1\u662f\u5426\u786e\u5b9e\u9009\u4e2d\u4e86\u6807\u6709 @CheckReturnValue \u7684\u65b9\u6cd5\u7684\u7ed3\u679c\u3002
ERR_org.netbeans.modules.java.hints.bugs.CheckReturnValueHint=\u5e94\u8be5\u68c0\u67e5\u65b9\u6cd5\u8fd4\u56de\u503c
DN_NPECheck=\u7a7a\u503c\u6307\u9488\u89e3\u9664\u5f15\u7528
DESC_NPECheck=\u68c0\u67e5\u4e0e\u89e3\u9664\u5f15\u7528\u7a7a\u503c\u76f8\u5173\u7684\u5404\u79cd\u95ee\u9898
ERR_DereferencingNull=\u89e3\u9664\u5f15\u7528\u7a7a\u503c\u6307\u9488
ERR_PossiblyDereferencingNull=\u89e3\u9664\u5f15\u7528\u53ef\u80fd\u7684\u7a7a\u503c\u6307\u9488
ERR_AssigningNullToNotNull=\u5c06\u7a7a\u503c\u5206\u914d\u7ed9\u975e\u7a7a\u503c\u53d8\u91cf
ERR_PossibleAssigingNullToNotNull=\u5c06\u53ef\u80fd\u7684\u7a7a\u503c\u5206\u914d\u7ed9\u975e\u7a7a\u503c\u53d8\u91cf
ERR_NULL_TO_NON_NULL_ARG=\u5c06\u7a7a\u503c\u4f20\u9012\u5230\u975e\u7a7a\u503c\u53c2\u6570
ERR_POSSIBLENULL_TO_NON_NULL_ARG=\u5c06\u53ef\u80fd\u7684\u7a7a\u503c\u4f20\u9012\u5230\u975e\u7a7a\u503c\u53c2\u6570
ERR_NotNullWouldBeNPE=\u4e0d\u5fc5\u8981\u7684\u7a7a\u503c\u6d4b\u8bd5 - \u8fd9\u4f1a\u5f15\u53d1 NullPointerException
ERR_NotNull=\u4e0d\u5fc5\u8981\u7684\u7a7a\u503c\u6d4b\u8bd5 - \u8868\u8fbe\u5f0f\u6c38\u8fdc\u4e0d\u4e3a\u7a7a\u503c
ERR_ReturningNullFromNonNull=\u4ece\u8fd4\u56de\u7c7b\u578b\u4e3a\u975e\u7a7a\u503c\u7684\u65b9\u6cd5\u8fd4\u56de\u7a7a\u503c
ERR_ReturningPossibleNullFromNonNull=\u4ece\u8fd4\u56de\u7c7b\u578b\u4e3a\u975e\u7a7a\u503c\u7684\u65b9\u6cd5\u8fd4\u56de\u53ef\u80fd\u7684\u7a7a\u503c
LBL_NPECheck.ENABLE_FOR_FIELDS=\u540c\u65f6\u4e3a\u5b57\u6bb5\u63d0\u4f9b\u8b66\u544a(&F)
TP_NPECheck.ENABLE_FOR_FIELDS=\u540c\u65f6\u4e3a\u5b57\u6bb5\u63d0\u4f9b\u8b66\u544a - \u5b9e\u9a8c
DN_TryCatchFinally_finallyDiscardsException='finally' \u5757\u7981\u6b62\u5f02\u5e38\u9519\u8bef
DESC_TryCatchFinally_finallyDiscardsException=\u62a5\u544a <b>finally</b> \u5757\u4e2d <b>return</b> \u8bed\u53e5\u7684\u7528\u6cd5\u3002\u8fd9\u6837\u7684 <b>return</b> \u5c06\u653e\u5f03\u6240\u629b\u51fa\u7684\u5f02\u5e38\u9519\u8bef, \u4ece\u800c\u5bfc\u81f4\u6574\u4e2a\u65b9\u6cd5\u6b63\u5e38\u5b8c\u6210, \u800c\u8fd9\u901a\u5e38\u4e0d\u662f\u6240\u9700\u7684\u7ed3\u679c\u3002\u4e5f\u5c06\u62a5\u544a <b>Break</b> \u548c <b>continue</b> \u8bed\u53e5, \u8fd9\u4e24\u4e2a\u8bed\u53e5\u4f1a\u8df3\u51fa <b>finally</b> \u5757\u3002
DN_TryCatchFinally_finallyThrowsException='finally' \u5757\u5185\u7684 'throw'
DESC_TryCatchFinally_finallyThrowsException=\u5728 <b>finally</b> \u5757\u5185\u629b\u51fa\u5f02\u5e38\u9519\u8bef\u5c06\u9690\u85cf\u4ece\u5c01\u95ed\u5f02\u5e38\u9519\u8bef\u5904\u7406\u7a0b\u5e8f\u4e2d\u5173\u8054\u7684 <b>try</b> \u6216 <b>catch</b> \u5757\u629b\u51fa\u7684\u539f\u59cb\u5f02\u5e38\u9519\u8bef\u3002\u8bf7\u6ce8\u610f, \u4ecd\u53ef\u4ee5\u4f7f\u7528 <b>Throwable.getSuppressedException()</b> \u68c0\u67e5\u5f02\u5e38\u9519\u8bef, \u867d\u7136\u8be5\u5f02\u5e38\u9519\u8bef\u4e0d\u80fd\u76f4\u63a5\u7531 <b>catch</b> \u5757\u6355\u83b7\u3002<p/>\u5982\u679c\u7981\u7528\u4e86 "<i>\u62a5\u544a\u5df2\u6355\u83b7\u5f02\u5e38\u9519\u8bef\u7684\u91cd\u65b0\u629b\u51fa</i>", \u5219\u63d0\u793a\u5c06\u4e0d\u62a5\u544a\u8bed\u53e5, \u8fd9\u4e9b\u8bed\u53e5\u4ec5\u91cd\u65b0\u629b\u51fa\u5c01\u95ed catch \u5904\u7406\u7a0b\u5e8f\u6536\u5230\u7684\u786e\u5207\u5f02\u5e38\u9519\u8bef\u5b9e\u4f8b\u3002
DN_CloneAndCloneable_cloneWithoutSuperClone=clone() \u672a\u8c03\u7528 super.clone()
DESC_CloneAndCloneable_cloneWithoutSuperClone=\u514b\u9686\u7684\u5b9e\u4f8b\u5e94\u4f7f\u7528 <b>super.clone()</b> \u8fdb\u884c\u5206\u914d, \u4ee5\u4f7f\u5b57\u6bb5\u53ef\u4ee5\u6b63\u5e38\u521d\u59cb\u5316\u3002
DN_CloneAndCloneable_cloneWithoutThrows=clone() \u672a\u629b\u51fa CloneNotSupportedException
DESC_CloneAndCloneable_cloneWithoutThrows=\u5982\u679c clone() \u672a\u58f0\u660e\u4e3a\u629b\u51fa <b>CloneNotSupportedException</b>, \u5b50\u7c7b\u5c06\u4e0d\u80fd\u4f7f\u7528\u6807\u51c6 <b>Cloneable</b> \u5408\u540c\u7981\u6b62\u514b\u9686\u3002
DN_CloneAndCloneable_cloneInNonCloneableClass=clone() \u5728\u975e Cloneable \u7c7b\u4e2d
DESC_CloneAndCloneable_cloneInNonCloneableClass=<b>Object.clone()</b> \u7684\u5408\u540c\u8981\u6c42, \u7c7b\u5fc5\u987b\u5b9e\u73b0 <b>Cloneable</b> \u6807\u8bb0\u63a5\u53e3\u3002\u5982\u679c\u672a\u5b9e\u73b0, \u5219 clone() \u65b9\u6cd5\u5c06\u5f15\u53d1 <b>CloneNotSupportedException</b>\u3002\u58f0\u660e <b>Cloneable</b> \u63a5\u53e3\u901a\u5e38\u88ab\u5ffd\u7565\u3002
DN_CloneAndCloneable_cloneableWithoutClone=Cloneable \u7c7b\u672a\u5b9e\u73b0 clone()\u3002
DESC_CloneAndCloneable_cloneableWithoutClone=<html><b>Cloneable</b> \u7c7b\u5e94\u8986\u76d6 clone()\u3002\u5982\u679c\u672a\u8986\u76d6, \u5219\u514b\u9686\u64cd\u4f5c\u5c06\u4f7f\u7528\u9ed8\u8ba4\u7684 <b>java.lang.Object.clone()</b>, \u8be5\u65b9\u6cd5\u901a\u5e38\u4e0d\u9002\u7528\u3002\u7f3a\u5c11\u5df2\u8986\u76d6\u7684 <b>clone</b> \u8868\u793a\u53ef\u80fd\u5b58\u5728\u9519\u8bef\u3002</html>
BroadCatchCustomizer.cbCommonTypes.text=\u62a5\u544a\u516c\u7528\u8d85\u7c7b\u578b(&R)
DN_BroadCatch='catch' \u5b50\u53e5\u8fc7\u4e8e\u5bbd\u6cdb
DESC_BroadCatch=\u62a5\u544a <b>catch</b> \u5b50\u53e5, \u8fd9\u4e9b\u5b50\u53e5\u6355\u83b7\u8d85\u7c7b\u578b, \u800c\u4e0d\u662f\u5b9e\u9645\u629b\u51fa\u7684\u5f02\u5e38\u9519\u8bef\u7c7b\u578b\u3002\u8fd9\u6837\u5bbd\u6cdb\u7684\u6355\u83b7\u53ef\u80fd\u4f1a\u63d0\u4f9b\u4e0d\u9002\u5f53\u7684\u62a5\u544a\u6216\u8fc7\u4e8e\u7b3c\u7edf\u7684\u5f02\u5e38\u9519\u8bef\u5904\u7406\u3002<p/>\u6709\u65f6, \u65b9\u6cd5\u4f1a\u751f\u6210<b>\u591a\u4e2a</b>\u5f02\u5e38\u9519\u8bef\u7c7b\u578b, \u8fd9\u4e9b\u5f02\u5e38\u9519\u8bef\u7c7b\u578b\u53ef\u4ee5\u901a\u8fc7\u6355\u83b7\u5176\u5171\u540c\u7684\u8d85\u7c7b\u578b\u6765\u8fdb\u884c\u5904\u7406\u3002"<i>\u62a5\u544a\u5171\u540c\u7684\u8d85\u7c7b\u578b</i>" \u9009\u9879\u53ef\u4ee5\u63a7\u5236\u662f\u5426\u5c06\u62a5\u544a\u8fd9\u6837\u7684\u60c5\u51b5\u3002\u5c06\u59cb\u7ec8\u62a5\u544a\u4e3a<b>\u4f7f\u7528\u7279\u5b9a Catch</b> \u63d0\u793a\u914d\u7f6e\u7684<i>\u901a\u7528\u5f02\u5e38\u9519\u8bef</i>\u3002
BroadCatchCustomizer.cbSuppressUmbrellas.text=\u5ffd\u7565 umbrella \u5f02\u5e38\u9519\u8bef(&U)
DN_MathRandomCastInt=Math.random() \u5f3a\u5236\u8f6c\u6362\u4e3a int
DESC_MathRandomCastInt=Math.random \u751f\u6210\u4e00\u4e2a\u4f4d\u4e8e\u8303\u56f4 0..1 \u5185\u7684\u53cc\u7cbe\u5ea6\u503c\u3002\u5982\u679c\u6b64\u503c\u7acb\u5373\u5f3a\u5236\u8f6c\u6362\u4e3a int, \u5219\u4f1a\u59cb\u7ec8\u820d\u5165\u4e3a 0, \u8fd9\u53ef\u80fd\u4e0d\u662f\u9884\u671f\u7684\u3002\u6b64\u4fee\u590d\u5c06\u79fb\u52a8\u5f3a\u5236\u8f6c\u6362, \u4ee5\u4fbf\u5f3a\u5236\u8f6c\u6362\u5c01\u95ed\u7b97\u672f\u8868\u8fbe\u5f0f\u5e76\u8fdb\u884c\u53ef\u80fd\u7684\u820d\u5165\u3002
DN_AssertWithSideEffects=\u5177\u6709\u526f\u4f5c\u7528\u7684\u65ad\u8a00
DESC_AssertWithSideEffects=\u6807\u8bc6\u62a5\u544a\u79f0\u5176\u6761\u4ef6\u4f1a\u5f15\u8d77\u67d0\u4e9b\u526f\u4f5c\u7528\u7684\u65ad\u8a00\u8bed\u53e5\u3002\u6b64\u63d0\u793a\u68c0\u67e5\u4ece\u6761\u4ef6\u8868\u8fbe\u5f0f\u5185\u5bf9\u672c\u5730\u53d8\u91cf\u548c\u5b57\u6bb5\u6240\u505a\u7684\u5206\u914d\u3002\u5982\u679c\u6b64\u8868\u8fbe\u5f0f\u8c03\u7528\u67d0\u4e2a\u65b9\u6cd5, \u5219\u6b64\u63d0\u793a\u5c06\u68c0\u67e5\u6b64\u65b9\u6cd5\u662f\u5426\u5206\u914d\u5230\u67d0\u4e9b\u5b57\u6bb5\u3002\u4ec5\u68c0\u67e5<b>\u76f4\u63a5\u8c03\u7528</b>\u7684\u65b9\u6cd5\u3002\u51fa\u4e8e\u6027\u80fd\u8003\u8651, \u5c3d\u7ba1\u5728\u8fd0\u884c\u65f6\u8c03\u7528\u7684\u65b9\u6cd5\u53ef\u80fd\u4f1a\u89e3\u6790\u4e3a\u5b50\u7c7b\u4e2d\u7684\u67d0\u4e9b\u8986\u76d6, \u4f46\u662f\u4ec5\u68c0\u67e5\u57fa\u7c7b\u65b9\u6cd5\u4e3b\u4f53\u3002\u5b8c\u6210\u5ffd\u7565\u5bf9\u63a5\u53e3\u7c7b\u578b\u65b9\u6cd5\u7684\u8c03\u7528\u3002\u68c0\u67e5\u67d0\u65b9\u6cd5\u6240\u6709\u53ef\u80fd\u7684\u8986\u76d6\u4f1a\u663e\u8457\u964d\u4f4e\u6027\u80fd\u3002
DN_ComparatorParameterNotUsed=Comparator.compare() \u4e0d\u4f7f\u7528\u5176\u53c2\u6570{0}
DESC_ComparatorParameterNotUsed=Comparator \u5e94\u6bd4\u8f83\u5176 compare \u65b9\u6cd5\u7684\u53d8\u5143\u3002\u5982\u679c\u5176\u4e2d\u67d0\u4e2a\u53c2\u6570\u672a\u7528\u4e8e\u6bd4\u8f83, \u5219\u6307\u793a\u53e6\u4e00\u4e2a\u53d8\u5143\u53ef\u80fd\u8fdb\u884c\u81ea\u6211\u6bd4\u8f83\u6216\u8005\u5b9e\u73b0\u4e2d\u7684\u67d0\u79cd\u5176\u4ed6\u9519\u8bef\u3002
DN_HashCodeOnArray=\u5728\u6570\u7ec4\u5b9e\u4f8b\u4e0a\u4f7f\u7528\u7684 hashCode()
DESC_HashCodeOnArray=\u6570\u7ec4\u5b9e\u4f8b\u7684 hashCode \u7ee7\u627f\u81ea java.lang.Object \u5e76\u4e14\u57fa\u4e8e\u6570\u7ec4\u7684\u5f15\u7528\u800c\u975e\u6570\u7ec4\u7684\u5185\u5bb9\u3002<p>\u82e5\u8981\u83b7\u53d6\u53cd\u6620\u6240\u542b\u5bf9\u8c61\u6216\u503c\u7684\u66f4\u5408\u7406\u7684 hashCode, \u8bf7\u4f7f\u7528 <b>Arrays.hashCode</b> \u6216 <b>Arrays.deepHashCode()</b>
DN_ToStringOnArray=\u5728\u6570\u7ec4\u5b9e\u4f8b\u4e0a\u4f7f\u7528\u7684 toString()
DESC_ToStringOnArray=\u6570\u7ec4\u7684 toString() \u5b9e\u73b0\u5e76\u4e0d\u5c06\u6570\u7ec4\u5185\u5bb9\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32, \u800c\u662f\u8f93\u51fa\u6570\u7ec4\u7684\u7c7b\u578b\u548c\u6563\u5217\u4ee3\u7801 (\u5b9a\u4e49\u4e3a\u6807\u8bc6\u6563\u5217\u4ee3\u7801)\u3002\u8981\u83b7\u53d6\u6570\u7ec4\u5185\u5bb9\u7684\u5b57\u7b26\u4e32\u8868\u793a\u5f62\u5f0f, \u53ef\u4ee5\u5c06\u6570\u7ec4\u5305\u88c5\u5230 Arrays.asList() (\u4e3e\u4f8b\u6765\u8bf4), \u56e0\u4e3a Collections \u4f1a\u5728\u5176 toString() \u4e2d\u751f\u6210\u5185\u5bb9\u8868\u793a\u5f62\u5f0f\u3002
DN_ArrayConversionToString=\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u7684\u6570\u7ec4
DESC_ArrayConversionToString=\u5c06\u6570\u7ec4\u5b9e\u4f8b\u4f20\u9012\u5230\u67d0\u4e9b\u5e93\u65b9\u6cd5 (\u4f8b\u5982 PrintStream \u6216\u683c\u5f0f\u8bbe\u7f6e\u65b9\u6cd5) \u6216\u4e0e\u5b57\u7b26\u4e32\u8fde\u63a5\u65f6, \u5c06\u5728\u6570\u7ec4\u5b9e\u4f8b\u4e0a\u8c03\u7528 <b>toString</b> \u65b9\u6cd5\u3002\u751f\u6210\u7684\u8868\u793a\u5f62\u5f0f\u5c06\u4e0d\u5305\u542b\u6570\u7ec4\u5185\u5bb9, \u800c\u662f\u5305\u542b\u6570\u7ec4\u7c7b\u578b\u548c\u6563\u5217\u4ee3\u7801\u3002
DN_ConfusingVarargsNull=\u4f20\u9012\u5230 varargs \u65b9\u6cd5\u7684\u6df7\u4e71\u7684 null
DESCR_ConfusingVarargsNull=\u5982\u679c\u5728 variable-length (\u7701\u7565\u53f7) \u53c2\u6570\u4e2d\u5c06 <b>null</b> \u4f20\u9012\u5230\u65b9\u6cd5, \u5219\u5728 variable-length \u53c2\u6570\u7684\u6570\u7ec4\u4e2d\u4e0d\u4f1a\u5c06\u5176\u63a5\u6536\u4e3a <b>null</b> \u9879, \u4f46\u6574\u4e2a variable-length \u53c2\u6570\u5c06\u4e3a null\u3002<p/>\u65e0\u9700\u663e\u5f0f\u4f20\u9012 null\u3002
DN_ConfusingVarargsArray=\u4f20\u9012\u5230 varargs \u65b9\u6cd5\u7684\u6df7\u4e71\u7684\u57fa\u672c\u6570\u7ec4
DESCR_ConfusingVarargsArray=\u5c06\u4e0d\u89e3\u9664\u4f20\u9012\u5230 variable-argument \u65b9\u6cd5\u7684\u57fa\u672c\u6570\u7ec4\u7684\u5305\u88c5, \u5e76\u4e14\u4e0d\u5c06\u5176\u9879\u89c6\u4e3a\u6240\u8c03\u7528\u65b9\u6cd5\u4e2d variable-length \u53c2\u6570\u7684\u9879\u3002\u800c\u662f\u4f5c\u4e3a\u5355\u4e2a\u9879\u4f20\u9012\u6b64\u6570\u7ec4\u3002
DN_InfiniteRecursion=\u65e0\u9650\u9012\u5f52
DESCR_InfiniteRecursion=\u68c0\u6d4b\u5fc5\u987b\u65e0\u9650\u9012\u5f52\u5e76\u4e14\u53ea\u80fd\u901a\u8fc7\u5f15\u53d1\u5f02\u5e38\u9519\u8bef\u7ec8\u6b62\u7684\u65b9\u6cd5\u3002\u4ec5\u62a5\u544a\u660e\u786e\u9012\u5f52, \u800c\u4e0d\u62a5\u544a\u53ef\u80fd\u9012\u5f52\u3002\u9012\u5f52\u4ec5\u68c0\u67e5\u5355\u4e2a\u65b9\u6cd5 (\u56e0\u6b64\u4e0d\u62a5\u544a\u50cf a -> b -> \u8fd9\u6837\u7684\u9012\u5f52)\u3002\u4e5f\u4e0d\u62a5\u544a\u901a\u8fc7\u7c7b\u7684\u82e5\u5e72\u5b9e\u4f8b\u7684\u9012\u5f52\u3002\u53ef\u4ee5\u4e3a\u53ef\u5728\u5b50\u7c7b\u4e2d\u8986\u76d6\u9012\u5f52\u65b9\u6cd5\u7684\u60c5\u51b5\u7981\u7528\u6b64\u63d0\u793a, \u56e0\u4e3a\u5b50\u7c7b\u5b9e\u73b0\u53ef\u4ee5\u907f\u514d\u9012\u5f52\u3002\u4f46\u662f, \u5982\u679c\u67d0\u4e2a\u5b50\u7c7b\u672a\u8986\u76d6\u548c\u4fee\u590d\u6b64\u65b9\u6cd5, \u4ecd\u7136\u4f1a\u53d1\u751f\u9012\u5f52\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b, \u5373\u4f7f\u5bf9\u4e8e\u53ef\u8986\u76d6\u60c5\u51b5\u4e5f\u53d1\u51fa\u68c0\u67e5\u8b66\u544a\u3002
OPTNAME_InfiniteRecursionNoOverridables=\u6392\u9664\u53ef\u4ee5\u8986\u76d6\u7684\u65b9\u6cd5
OPTDESC_InfiniteRecursionNoOverridables=\u4e0d\u62a5\u544a\u53ef\u5728\u5b50\u7c7b\u4e2d\u8986\u76d6\u7684\u65b9\u6cd5\u7684\u9012\u5f52, \u800c\u8986\u76d6\u53ef\u4ee5\u6709\u6548\u907f\u514d\u6709\u9650\u9012\u5f52\u3002
DN_MalformedXPathExpression=XPath \u8868\u8fbe\u5f0f\u7684\u683c\u5f0f\u9519\u8bef
DESC_MalformedXPathExpression=\u6b64\u63d0\u793a\u68c0\u67e5\u4f20\u9012\u5230 JAXP XPath \u8ba1\u7b97\u5668\u7684 XPath \u8868\u8fbe\u5f0f\u8bed\u6cd5\u3002\u68c0\u67e5\u7684\u8c03\u7528\u6709:<ul><li>JAXP XPath \u7f16\u8bd1\u548c\u8ba1\u7b97\u8c03\u7528,<li>Xalan-J XPath \u521b\u5efa\u548c XPathAPI \u7528\u6cd5,<li>Apache Common \u7684 JXPath \u8c03\u7528</ul>
DN_MalformedFormatString=\u683c\u5f0f\u5b57\u7b26\u4e32\u7684\u683c\u5f0f\u9519\u8bef
DESC_MalformedFormatString=\u62a5\u544a\u4f20\u9012\u5230 String.format, printf-style \u65b9\u6cd5\u7684\u683c\u5f0f\u5b57\u7b26\u4e32\u3002\u68c0\u67e5\u53c2\u6570\u4e2a\u6570\u662f\u5426\u4e0e % \u8bf4\u660e\u7b26\u4e2a\u6570\u5bf9\u5e94, \u4ee5\u53ca\u53c2\u6570\u662f\u5426\u5177\u6709\u6b63\u786e\u7684\u7c7b\u578b\u3002
DN_WrapperIdentityComparison=\u88c5\u7bb1\u503c\u6807\u8bc6\u6bd4\u8f83
DESC_WrapperIdentityComparison=\u5982\u679c\u4f7f\u7528 <i>==</i> \u6216 <i>!=</i> \u6bd4\u8f83\u4e24\u4e2a\u88c5\u7bb1\u503c, \u5219\u4f1a\u6bd4\u8f83\u88c5\u7bb1\u5bf9\u8c61\u7684\u6807\u8bc6\u800c\u975e\u88c5\u7bb1\u503c\u3002\u6b64\u68c0\u67e5\u5efa\u8bae\u4e00\u4e2a\u4fee\u590d, \u6b64\u4fee\u590d\u4f7f\u7528 <b>java.util.Objects.equals()</b> \u6267\u884c\u7a7a\u503c\u5b89\u5168\u7684\u6bd4\u8f83\u3002<p/>\u6b64\u4fee\u590d\u4ec5\u9002\u7528\u4e8e >= 7 \u7684\u6e90\u4ee3\u7801\u7ea7\u522b, \u56e0\u4e3a\u6761\u4ef6\u8868\u8fbe\u5f0f\u5c06\u9700\u8981\u591a\u6b21\u8ba1\u7b97\u67d0\u4e2a\u64cd\u4f5c\u6570, \u800c\u8fd9\u53ef\u80fd\u7531\u4e8e\u6f5c\u5728\u7684\u8868\u8fbe\u5f0f\u526f\u4f5c\u7528\u800c\u65e0\u6cd5\u5b9e\u73b0\u3002
DN_StringBufferCharConstructor=\u4f7f\u7528 `char'' \u53c2\u6570\u8c03\u7528\u7684 StringBuffer \u6784\u9020\u51fd\u6570
DESC_StringBufferCharConstructor=<b>StringBuffer</b> \u548c <b>StringBuilder</b> \u6784\u9020\u51fd\u6570\u63a5\u53d7 <i>int</i> \u4f5c\u4e3a\u53c2\u6570\u3002\u5982\u679c\u4f20\u9012\u4e86 <i>char</i>, \u5219\u4f1a\u5728\u65e0\u63d0\u793a\u6a21\u5f0f\u4e0b\u5347\u7ea7\u4e3a int, \u5e76\u4e14\u8c03\u7528\u4f1a\u521b\u5efa\u5b9a\u4e49\u4e86\u521d\u59cb\u5bb9\u91cf\u7684 <b>StringBuffer</b> \u5b9e\u4f8b, \u800c\u975e\u6700\u521d\u5305\u542b\u4f20\u9012\u7684\u5355\u4e00\u5b57\u7b26\u7684 StringBuffer\u3002<p/>\u63d0\u4f9b\u7684\u4fee\u590d\u5c06\u6dfb\u52a0\u4e00\u4e2a\u7528\u4e8e\u5b9e\u9645\u6dfb\u52a0\u6b64\u5b57\u7b26\u7684 <i>append</i>\u3002
DN_SuspiciousToArray=\u53ef\u7591\u7684 Collections.toArray() \u8c03\u7528
DESC_SuspiciousToArrayCall=\u68c0\u6d4b\u5176\u6570\u7ec4\u7c7b\u578b\u53c2\u6570\u4e0e\u96c6\u5408\u7c7b\u578b\u53c2\u6570\u4e0d\u5339\u914d\u7684\u8fd9\u7c7b\u8c03\u7528\u3002\u96c6\u5408\u7c7b\u578b\u53c2\u6570\u5e94\u53ef\u5206\u914d\u81f3\u6570\u7ec4\u7c7b\u578b\u3002\u5bf9\u4e8e\u539f\u59cb\u96c6\u5408, \u6b64\u63d0\u793a\u68c0\u67e5\u5b9e\u9645\u4e0a\u662f\u5426\u53ef\u4ee5\u5c06\u6570\u7ec4\u7c7b\u578b\u5206\u914d\u81f3\u5f3a\u5236\u8f6c\u6362\u4e3a\u7684\u6570\u7ec4\u7c7b\u578b\u3002<p/>\u6b64\u63d0\u793a\u662f\u4e3a\u4e86\u66f4\u6539\u65b0\u521b\u5efa\u7684\u6570\u7ec4\u7c7b\u578b, \u6216\u66f4\u6539 <i>new Type[]</i> \u7684 <b>toArray</b> \u53c2\u6570, \u4f46\u5982\u679c\u96c6\u5408\u8868\u8fbe\u5f0f\u53ef\u80fd\u5177\u6709\u67d0\u4e9b\u526f\u4f5c\u7528, \u5219\u6b64\u4fee\u590d\u4e0d\u53ef\u7528\u3002
DN_CreatedThrowableNotThrown=\u672a\u5f15\u53d1\u521b\u5efa\u7684 Throwable
DESC_DN_CreatedThrowableNotThrown=\u6b64\u63d0\u793a\u68c0\u6d4b Throwable \u521b\u5efa, \u7136\u540e\u653e\u5f03\u3002Throwable \u521b\u5efa\u76f8\u5f53\u6602\u8d35, \u4e0d\u4f7f\u7528\u521b\u5efa\u7684 Throwable \u53ef\u80fd\u6307\u793a\u672a\u5b8c\u6210\u7684\u9519\u8bef\u5904\u7406\u4ee3\u7801\u3002\u5982\u679c\u5f15\u53d1 Throwable, \u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u7ed9\u65b9\u6cd5, \u4f5c\u4e3a\u65b9\u6cd5\u7ed3\u679c\u8fd4\u56de\u6216\u5206\u914d\u81f3\u5b57\u6bb5, \u5219\u5c06\u5176\u89c6\u4e3a<i>\u5df2\u4f7f\u7528</i>\u3002\u4e5f\u4f1a\u68c0\u67e5\u901a\u8fc7\u672c\u5730\u53d8\u91cf\u7684\u53ef\u80fd\u5206\u914d\u4ee5\u786e\u5b9a\u662f\u5426\u5c06\u6700\u7ec8<i>\u4f7f\u7528</i>\u6b64\u503c\u3002
DN_ThrowableMethodResultIgnored=\u5ffd\u7565 Throwable \u65b9\u6cd5\u7ed3\u679c
DESC_ThrowableMethodResultIgnored=\u5982\u679c\u4ece\u65b9\u6cd5\u8c03\u7528\u4f5c\u4e3a<i>\u8fd4\u56de\u503c</i>\u8fd4\u56de Throwable (\u76f8\u5bf9\u4e8e\u5f15\u53d1), \u5219\u901a\u5e38\u4f1a\u4ee5\u67d0\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bb0\u5f55 (\u5206\u914d), \u8fdb\u4e00\u6b65\u5904\u7406 (\u4f20\u9012\u5230\u5176\u4ed6\u65b9\u6cd5\u8c03\u7528) \u6216\u5f15\u53d1\u3002\u5ffd\u7565\u6b64\u7c7b Throwable \u6216\u5728\u67d0\u79cd\u7b80\u5355\u6bd4\u8f83\u4e2d\u4f7f\u7528\u5219\u6307\u793a\u9519\u8bef\u5904\u7406\u7f3a\u9677, \u6216\u65b9\u6cd5\u5e94\u8fd4\u56de\u5176\u4ed6\u503c\u4ee5\u8282\u7701 Throwable \u7684\u5806\u6808\u8ddf\u8e2a\u521b\u5efa\u65f6\u95f4\u3002
DN_MissingSwitchcase=\u53ef\u80fd\u7f3a\u5c11 switch "case" \u8bed\u53e5
DESC_MissingSwitchcase=\u6b64\u63d0\u793a\u68c0\u6d4b <b>switch \u8bed\u53e5</b> (\u4e0d\u5e26 <b>case</b> \u8bed\u53e5\u7684\u6807\u7b7e) \u4e2d\u7684\u8f93\u5165\u9519\u8bef\u3002<p/>\u5982\u679c\u662f\u4ee5\u4e0b\u8bed\u53e5\u7684\u9884\u671f\u6807\u7b7e, \u5219\u4e5f\u53ef\u4ee5\u662f\u5fd8\u8bb0\u4e86\u5173\u952e\u5b57\u7684\u9884\u671f <b>case</b> \u5206\u652f\u3002