javaGeom-尝试获取两个多边形的差时出现NullPointerException

javaGeom-尝试获取两个多边形的差时出现NullPointerException,java,google-app-engine,geometry,gpc,Java,Google App Engine,Geometry,Gpc,我的类中有这个方法(在Google App Engine下),它只需要获取一个math.geom2d.polygon.Polygon2D对象来计算它与另一个本地Polygon2D的差异。这就是它的样子: public void substractPolygon(Polygon2D polygon){ Polygon2D subbedPolygon = Polygons2D.difference(thePolygon, polygon); placeList = polygonTo

我的类中有这个方法(在Google App Engine下),它只需要获取一个math.geom2d.polygon.Polygon2D对象来计算它与另一个本地Polygon2D的差异。这就是它的样子:

public void substractPolygon(Polygon2D polygon){
    Polygon2D subbedPolygon = Polygons2D.difference(thePolygon, polygon);
    placeList = polygonToList(subbedPolygon);
}
我从库中得到这个NullPointerException,我不知道该怎么处理它:

    WARNING: /runningappserver
java.lang.NullPointerException
at math.geom2d.polygon.Polygons2D.convertToGpcjPolygon(Polygons2D.java:429)
at math.geom2d.polygon.Polygons2D.difference(Polygons2D.java:417)
at com.panstudio.RunningAppServer.Run.substractPolygon(Run.java:266)
at com.panstudio.RunningAppServer.RunningAppServerServlet.doPost(RunningAppServerServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:61)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:94)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:383)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

多边形或多边形为空。最简单的检查方法是调试并在IDE中设置断点,或者在每个IDE上设置一些日志/输出并运行一个方法

多边形或多边形为空。最简单的检查方法是调试并在IDE中放置断点,或者在每个IDE上放置一些日志/输出并运行一个方法。这很奇怪,因为我记得检查多边形是否为空。。。总之,就是这样。谢谢!