我正在尝试访问MyModelClass上的getter方法,但我的代码返回List<LinkedHashMap>而不是List<MyModelClass>.这是我的代码.
List<MyModelClass> myModelClass=(List<MyModelClass>) restTemplate.postForObject(url,mvm,List.class);
System.out.println("Response= " + myModelClass);
Run Code Online (Sandbox Code Playgroud)
我试图打印响应,我得到了我期待的JSON响应.但是当我试图运行这段代码时.
System.out.println("Response= " + myModelClass.get(0).getMessage());
Run Code Online (Sandbox Code Playgroud)
它会产生这个错误.
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.XXX.XXX.MyModelClass
Run Code Online (Sandbox Code Playgroud)
这是不匹配的.有人可以帮我摆脱这个错误吗?谢谢.
MyModelClass
public class MyModelClass{
/**
*
*/
@JsonProperty("id")
public String id;
@JsonProperty("type")
public String type;
@JsonProperty("user")
public String user;
@JsonProperty("message")
public String message;
//getters
Run Code Online (Sandbox Code Playgroud)
错误
MyModelClass[] myModelClass= restTemplate.postForObject(url,mvm, myModelClass[].class);
Run Code Online (Sandbox Code Playgroud)
org.springframework.http.converter.HttpMessageNotReadableException:无法读取JSON:无法从START_OBJECT令牌中反序列化java.util.ArrayList的实例
JSON响应结构
[{"key1":"value1","key2":"value2","parameters":{"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"}},
{"key12":"value12","key22":"value22","parameters":{"key12":"value12","key22":"value22","key32":"value32","key42":"value42","key52":"value52"}}]
Run Code Online (Sandbox Code Playgroud)
如果有任何关于如何在RestTemplate中映射这种JSON响应的建议,那将会有很大帮助.谢谢
我有一个preferences.xml,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
android:name="Sample"
android:enabled="true"
android:persistent="true"
android:summary="Sample"
android:defaultValue="3.0"
android:title="Sample"
android:key="sample" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
当我执行sp.getString("sample","3.0")时,它工作正常并返回一个字符串,但它不应该是一个字符串,它应该是一个浮点数.运行sp.getFloat("sample",3.0f)会抛出ClassCastException,因为它是一个字符串.
我应该在XML中放置什么以便将首选项存储为浮点数?
一如既往,我正在查看JDK 8源代码并发现非常有趣的代码:
@Override
default void forEachRemaining(Consumer<? super Integer> action) {
if (action instanceof IntConsumer) {
forEachRemaining((IntConsumer) action);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:怎么Consumer<? super Integer>可能是一个实例 IntConsumer?因为他们处于不同的等级.
我已经制作了类似的代码片段来测试:
public class InterfaceExample {
public static void main(String[] args) {
IntConsumer intConsumer = i -> { };
Consumer<Integer> a = (Consumer<Integer>) intConsumer;
a.accept(123);
}
}
Run Code Online (Sandbox Code Playgroud)
但它抛出ClassCastException:
Exception in thread "main"
java.lang.ClassCastException:
com.example.InterfaceExample$$Lambda$1/764977973
cannot be cast to
java.util.function.Consumer
Run Code Online (Sandbox Code Playgroud)
你可以在java.util.Spliterator.OfInt#forEachRemaining(java.util.function.Consumer)找到这段代码.
我正在做一个JBoss SEAM项目,当我查看表单时,我收到此错误.
java.lang.ClassCastException:
it.cogitoweb.csi.entity.csiorelav.CsiTipoLav cannot be cast to
it.cogitoweb.csi.entity.csiorelav.CsiTipoLav
Run Code Online (Sandbox Code Playgroud)
它总是与屏幕上显示的形式相关的JPA类,它对我来说没有意义,为什么它是同一个类,似乎不可能.
我在Android上遇到了ClassCastException的奇怪问题.一个类不能被转换为同一个类:
java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.ClassCastException: com.example.model.BadeWrapper cannot be cast to com.example.model.BadgeWrapper
java.lang.ClassCastException: com.example.events.widgets.TouchyWebView cannot be cast to com.example.events.widgets.TouchyWebView
java.lang.ClassCastException: com.example.friends.widgets.FriendsTabView cannot be cast to com.example.friends.widgets.FriendsTabView
Run Code Online (Sandbox Code Playgroud)
当我找到有错误的行时,它所做的就是通过id查找视图或使用参数创建片段,例如:
FriendsTabView friendsTabView;
friendsTabView = (FriendsTabView) view.findViewById(R.id.friends_bottom_tab_panel);
Run Code Online (Sandbox Code Playgroud)
正如我的BugSense所说,这个问题只发生在带有android 5.0.0(三星SM-G900F)的三星Galaxy S5上.我在其他设备上从未遇到过这个问题:
有没有人遇到过这个问题?有没有办法解决它?
我的hadoop版本是1.0.3,当我使用multipleinputs时,我收到了这个错误.
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.TaggedInputSplit cannot be cast to org.apache.hadoop.mapreduce.lib.input.FileSplit
at org.myorg.textimage$ImageMapper.setup(textimage.java:80)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
at org.apache.hadoop.mapreduce.lib.input.DelegatingMapper.run(DelegatingMapper.java:55)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
Run Code Online (Sandbox Code Playgroud)
我测试了单输入路径,没问题.只有我用的时候
MultipleInputs.addInputPath(job, TextInputpath, TextInputFormat.class,
TextMapper.class);
MultipleInputs.addInputPath(job, ImageInputpath,
WholeFileInputFormat.class, ImageMapper.class);
Run Code Online (Sandbox Code Playgroud)
我用Google搜索并发现此链接https://issues.apache.org/jira/browse/MAPREDUCE-1178,其中说0.21有此错误.但是我使用1.0.3,这个bug又回来了.任何人都有同样的问题或任何人都可以告诉我如何解决它?谢谢
这是图像映射器的设置代码,第4行是发生错误的地方:
protected void setup(Context context) throws IOException,
InterruptedException {
InputSplit split = context.getInputSplit();
Path path = ((FileSplit) split).getPath();
try {
pa = new Text(path.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有一个布局RelativeLayout,我想在运行时以编程方式设置边距.但是,当我这样做时,它让我ClassCastException说FrameLayout不能投RelativeLayout.我没有使用任何FrameLayout,也没有导入FrameLayout.问题仍然存在.我使用的xml是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_root"
android:background="@color/menu_bg"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<RelativeLayout
android:id="@+id/ll_lhs_menu"
android:layout_width="300dip"
android:layout_height="fill_parent"
android:background="@color/menu_bg"
android:orientation="vertical">
.....
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_right"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:background="@drawable/capture_port"
android:scrollbars="none" >
....
</RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的onCreate,我将边距设置为父布局:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
_rootLayout = (RelativeLayout) findViewById(R.id.rl_root);
RelativeLayout.LayoutParams _rootLayoutParams = new RelativeLayout.LayoutParams(_rootLayout.getWidth(), _rootLayout.getHeight());
_rootLayoutParams.setMargins(300, 0, 300, 0);
_rootLayout.setLayoutParams(_rootLayoutParams);
}
Run Code Online (Sandbox Code Playgroud)
这是LogCat:
07-18 21:12:39.410: E/AndroidRuntime(7663): FATAL EXCEPTION: …Run Code Online (Sandbox Code Playgroud) android classcastexception android-layout android-relativelayout android-framelayout
今天早上我来到我的办公室,我看到了第一件事:我的公司网站崩溃了.因为我,我想.
现在我尝试了一个半小时来解决这个问题,但我什么都没发现,每个人都失去理智,因为网站不起作用,我无法修复它(我一个人.网站的创建者已经消失或者在假期).所以我希望你能帮助我!
当我调用我网站的dashboard.xhtml时,我得到了这个例外.
java.lang.ClassCastException: com.sun.faces.facelets.compiler.UIInstructions cannot be cast to org.primefaces.model.menu.MenuElement
Run Code Online (Sandbox Code Playgroud)
我的问题是:在整个例外中,我自己完成的文件无处可去.所以我真的不知道我的错误在哪里.
你能帮助我吗?
以下是一些其他信息:
整个例外:
SEVERE: Error Rendering View[/WEB-INF/flows/dashboard/dashboard.xhtml]
java.lang.ClassCastException: com.sun.faces.facelets.compiler.UIInstructions cannot be cast to org.primefaces.model.menu.MenuElement
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeElements(TieredMenuRenderer.java:97)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeSubmenu(TieredMenuRenderer.java:162)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeElements(TieredMenuRenderer.java:119)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeMenu(TieredMenuRenderer.java:78)
at org.primefaces.component.menubar.MenubarRenderer.encodeMarkup(MenubarRenderer.java:49)
at org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:105)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
at org.springframework.faces.webflow.FlowViewHandler.renderView(FlowViewHandler.java:99)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at org.springframework.faces.webflow.FlowLifecycle.render(FlowLifecycle.java:80)
at org.springframework.faces.webflow.JsfView.render(JsfView.java:89)
at org.springframework.webflow.engine.ViewState.render(ViewState.java:296)
at org.springframework.webflow.engine.ViewState.refresh(ViewState.java:243)
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:221)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258)
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at …Run Code Online (Sandbox Code Playgroud) 我得到以下错误:
ArrayList有BookStatus对象的值(listToPass)
我能做什么?
HomeActivity.java
ArrayList<BookStatus> listToPass = new ArrayList<BookStatus>(); // fill with smthg
protected void onPostExecute(String result) {
if (listToPass != null) {
Intent i = new Intent(getApplicationContext(),
SearchActivity.class);
// ArrayList<BookStatus> bs = new ArrayList<BookStatus> (Arrays.asList(bArr));
i.putParcelableArrayListExtra("com.example.books.BookStatus", listToPass);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
SearchActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.searchactivity_main);
Bundle bundle = getIntent().getExtras();
ArrayList<BookStatus> bookStatus = bundle
.getParcelable("com.example.books.BookStatus");
Run Code Online (Sandbox Code Playgroud)
BookStatus.java
public class BookStatus implements Parcelable {
public BookStatus() { …Run Code Online (Sandbox Code Playgroud) 可以说我有一个像这样的数组*:
val foo: Any = 1 : Int
Option(foo.asInstanceOf[String])
Run Code Online (Sandbox Code Playgroud)
由于显而易见的原因失败:
// java.lang.ClassCastException: java.lang.Integer cannot be cast to
// java.lang.String
// ... 48 elided
Run Code Online (Sandbox Code Playgroud)
接下来让我们考虑以下类:
case class DummyRow() {
val foo: Any = 1 : Int
def getAs[T] = foo.asInstanceOf[T]
def getAsOption[T] = Option(foo.asInstanceOf[T])
}
Run Code Online (Sandbox Code Playgroud)
至于我可以告诉大家getAs应该的行为方式与以前一样apply,然后asInstanceOf.
令人惊讶的是事实并非如此.单独调用时会抛出异常:
DummyRow().getAs[String]
// java.lang.ClassCastException: java.lang.Integer cannot be cast to
// java.lang.String
// ... 48 elided
Run Code Online (Sandbox Code Playgroud)
但当Option成功包装时:
val stringOption = Option(DummyRow().getAs[String])
// Option[String] = Some(1)
DummyRow().getAsOption[String]
// Option[String] …Run Code Online (Sandbox Code Playgroud) generics scala classcastexception scala-option scala-generics
android ×5
java ×3
findviewbyid ×1
generics ×1
hadoop ×1
java-8 ×1
jsf ×1
lambda ×1
menu ×1
parcelable ×1
preferences ×1
primefaces ×1
resttemplate ×1
scala ×1
scala-option ×1
spring ×1