public
abstract
@interface
CheckResult
implements
Annotation
android.support.annotation.CheckResult
Denotes that the annotated method returns a result that it typically is
an error to ignore. This is usually used for methods that have no side effect,
so calling it without actually looking at the result usually means the developer
has misunderstood what the method does.
Example:
public @CheckResult String trim(String s) { return s.trim(); }
...
s.trim(); // this is probably an error
s = s.trim(); // ok
Defines the name of the suggested method to use instead, if applicable (using
the same signature format as javadoc.) If there is more than one possibility,
list them all separated by commas.
Inherited methods
From
interface
java.lang.annotation.Annotation
abstract
Class<? extends Annotation>
annotationType()
abstract
boolean
equals(Object arg0)
abstract
int
hashCode()
abstract
String
toString()
Public methods
suggest
String suggest ()
Defines the name of the suggested method to use instead, if applicable (using
the same signature format as javadoc.) If there is more than one possibility,
list them all separated by commas.
For example, ProcessBuilder has a method named redirectErrorStream()
which sounds like it might redirect the error stream. It does not. It's just
a getter which returns whether the process builder will redirect the error stream,
and to actually set it, you must call redirectErrorStream(boolean).
In that case, the method should be defined like this:
@CheckResult(suggest="#redirectErrorStream(boolean)")
public boolean redirectErrorStream() { ... }
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# CheckResult\n\nSummary: [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \\| [\\[Expand All\\]](#) \n\nCheckResult\n===========\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\n\n`\npublic\n\n\nabstract\n@interface\nCheckResult\n`\n\n\n`\n\n\nimplements\n\nAnnotation\n\n\n`\n\n|----------------------------------------|\n| android.support.annotation.CheckResult |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nDenotes that the annotated method returns a result that it typically is\nan error to ignore. This is usually used for methods that have no side effect,\nso calling it without actually looking at the result usually means the developer\nhas misunderstood what the method does.\n\n\nExample: \n\n public @CheckResult String trim(String s) { return s.trim(); }\n ...\n s.trim(); // this is probably an error\n s = s.trim(); // ok\n \n\u003cbr /\u003e\n\nSummary\n-------\n\n| ### Public methods ||\n|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` String` | ` `[suggest](/reference/android/support/annotation/CheckResult#suggest())`() ` Defines the name of the suggested method to use instead, if applicable (using the same signature format as javadoc.) If there is more than one possibility, list them all separated by commas. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From interface ` java.lang.annotation.Annotation ` |-----------------------------------------|-------------------------| | ` abstract Class\u003c? extends Annotation\u003e` | ` annotationType() ` | | ` abstract boolean` | ` equals(Object arg0) ` | | ` abstract int` | ` hashCode() ` | | ` abstract String` | ` toString() ` | ||\n\nPublic methods\n--------------\n\n### suggest\n\n```\nString suggest ()\n```\n\nDefines the name of the suggested method to use instead, if applicable (using\nthe same signature format as javadoc.) If there is more than one possibility,\nlist them all separated by commas.\n\n\nFor example, ProcessBuilder has a method named `redirectErrorStream()`\nwhich sounds like it might redirect the error stream. It does not. It's just\na getter which returns whether the process builder will redirect the error stream,\nand to actually set it, you must call `redirectErrorStream(boolean)`.\nIn that case, the method should be defined like this: \n\n```\n @CheckResult(suggest=\"#redirectErrorStream(boolean)\")\n public boolean redirectErrorStream() { ... }\n \n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|----------|--------|\n| `String` | \u003cbr /\u003e |\n\n-\n\n Annotations\n -----------\n\n - [AnimatorRes](/reference/android/support/annotation/AnimatorRes)\n - [AnimRes](/reference/android/support/annotation/AnimRes)\n - [AnyRes](/reference/android/support/annotation/AnyRes)\n - [AnyThread](/reference/android/support/annotation/AnyThread)\n - [ArrayRes](/reference/android/support/annotation/ArrayRes)\n - [AttrRes](/reference/android/support/annotation/AttrRes)\n - [BinderThread](/reference/android/support/annotation/BinderThread)\n - [BoolRes](/reference/android/support/annotation/BoolRes)\n - [CallSuper](/reference/android/support/annotation/CallSuper)\n - [CheckResult](/reference/android/support/annotation/CheckResult)\n - [ColorInt](/reference/android/support/annotation/ColorInt)\n - [ColorLong](/reference/android/support/annotation/ColorLong)\n - [ColorRes](/reference/android/support/annotation/ColorRes)\n - [DimenRes](/reference/android/support/annotation/DimenRes)\n - [Dimension](/reference/android/support/annotation/Dimension)\n - [DrawableRes](/reference/android/support/annotation/DrawableRes)\n - [FloatRange](/reference/android/support/annotation/FloatRange)\n - [FontRes](/reference/android/support/annotation/FontRes)\n - [FractionRes](/reference/android/support/annotation/FractionRes)\n - [GuardedBy](/reference/android/support/annotation/GuardedBy)\n - [HalfFloat](/reference/android/support/annotation/HalfFloat)\n - [IdRes](/reference/android/support/annotation/IdRes)\n - [IntDef](/reference/android/support/annotation/IntDef)\n - [IntegerRes](/reference/android/support/annotation/IntegerRes)\n - [InterpolatorRes](/reference/android/support/annotation/InterpolatorRes)\n - [IntRange](/reference/android/support/annotation/IntRange)\n - [Keep](/reference/android/support/annotation/Keep)\n - [LayoutRes](/reference/android/support/annotation/LayoutRes)\n - [LongDef](/reference/android/support/annotation/LongDef)\n - [MainThread](/reference/android/support/annotation/MainThread)\n - [MenuRes](/reference/android/support/annotation/MenuRes)\n - [NavigationRes](/reference/android/support/annotation/NavigationRes)\n - [NonNull](/reference/android/support/annotation/NonNull)\n - [Nullable](/reference/android/support/annotation/Nullable)\n - [PluralsRes](/reference/android/support/annotation/PluralsRes)\n - [Px](/reference/android/support/annotation/Px)\n - [RawRes](/reference/android/support/annotation/RawRes)\n - [RequiresApi](/reference/android/support/annotation/RequiresApi)\n - [RequiresPermission](/reference/android/support/annotation/RequiresPermission)\n - [RequiresPermission.Read](/reference/android/support/annotation/RequiresPermission.Read)\n - [RequiresPermission.Write](/reference/android/support/annotation/RequiresPermission.Write)\n - [RestrictTo](/reference/android/support/annotation/RestrictTo)\n - [Size](/reference/android/support/annotation/Size)\n - [StringDef](/reference/android/support/annotation/StringDef)\n - [StringRes](/reference/android/support/annotation/StringRes)\n - [StyleableRes](/reference/android/support/annotation/StyleableRes)\n - [StyleRes](/reference/android/support/annotation/StyleRes)\n - [TransitionRes](/reference/android/support/annotation/TransitionRes)\n - [UiThread](/reference/android/support/annotation/UiThread)\n - [VisibleForTesting](/reference/android/support/annotation/VisibleForTesting)\n - [WorkerThread](/reference/android/support/annotation/WorkerThread)\n - [XmlRes](/reference/android/support/annotation/XmlRes)\n-\n\n Enums\n -----\n\n - [RestrictTo.Scope](/reference/android/support/annotation/RestrictTo.Scope)"]]