Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字段未在Eclipse中使用警告_Java_Eclipse - Fatal编程技术网

Java 字段未在Eclipse中使用警告

Java 字段未在Eclipse中使用警告,java,eclipse,Java,Eclipse,我正在JSF应用程序中实现一个登录过滤器。我有一个名为config的私有字段。Eclipse显示警告“未使用字段AuthenticationFilter.config的值”,尽管init和destroy方法中引用了该字段。我是做错了什么,还是Eclipse有点困惑 下面是AuthenticationFilter类: package com.mymato.coop; import java.io.IOException; import javax.servlet.Filter; import

我正在JSF应用程序中实现一个登录过滤器。我有一个名为config的私有字段。Eclipse显示警告“未使用字段AuthenticationFilter.config的值”,尽管init和destroy方法中引用了该字段。我是做错了什么,还是Eclipse有点困惑

下面是AuthenticationFilter类:

package com.mymato.coop;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebFilter("/restricted/*")
public class AuthenticationFilter implements Filter {

      private FilterConfig config;

      public void doFilter(ServletRequest req, ServletResponse resp,
          FilterChain chain) throws IOException, ServletException {
        if (((HttpServletRequest) req).getSession().getAttribute(
            LoginBean.AUTH_KEY) == null) {
          ((HttpServletResponse) resp).sendRedirect("../login.xhtml");
        } else {
          chain.doFilter(req, resp);
        }
      }

      public void init(FilterConfig config) throws ServletException {
        this.config = config;
      }

      public void destroy() {
        config = null;
      }
    }

使用字段并不是给它赋值。
在代码中,您为字段指定了一个值,但从不使用此字段。

在您的情况下,如果您的字段有一个值,但该值字段从未在另一条指令中用作输入值,那么它似乎是无用的。该字段有一个值,但没有人使用该值
那么,为什么要申报呢?鉴于,警告

在您的代码中,从未使用过
config
。为什么要申报
也许,您的类构建正在进行中,您将需要它。
也许,您以后不需要存储
config
对象来使用它。因此,您可以删除类中的字段

问问你自己。

使用一个字段并没有给它一个值。
在代码中,您为字段指定了一个值,但从不使用此字段。

在您的情况下,如果您的字段有一个值,但该值字段从未在另一条指令中用作输入值,那么它似乎是无用的。该字段有一个值,但没有人使用该值
那么,为什么要申报呢?鉴于,警告

在您的代码中,从未使用过
config
。为什么要申报
也许,您的类构建正在进行中,您将需要它。
也许,您以后不需要存储
config
对象来使用它。因此,您可以删除类中的字段

问你自己。

初始化和销毁
config
不是在“使用”它们-编译器告诉你,你有一个变量,当它不在任何地方使用时,初始化和销毁它会浪费内存和时间。

初始化和销毁
config
不是在“使用”它们-编译器告诉你,你有一个变量,当它不在任何地方使用时,你正在浪费内存和时间初始化和销毁它。

我认为如果你只是将它赋值为null,就会解决你的问题

private FilterConfig config = null;
有时候我也有这个问题。我认为这是因为FilterConfig类的实现方式

虽然您将指针分配给了另一个指针,但我不明白为什么会出现问题。另一个快速修复方法:放置一些getter/setter,即使您可能不使用它们:D


更新:另外,davidhxxx所说的

我认为,如果您只将其赋值为null,将解决您的问题

private FilterConfig config = null;
有时候我也有这个问题。我认为这是因为FilterConfig类的实现方式

虽然您将指针分配给了另一个指针,但我不明白为什么会出现问题。另一个快速修复方法:放置一些getter/setter,即使您可能不使用它们:D

更新:还有,DavidXXX说了什么