Tag: 转换

Class.forName强制转换

在Java中,将Casted结果中的Class.forName用于强制转换为类或被强制转换为类型的对象。 例如,如果你这样做了 Object a; String b = “testing”; a = (Class.forName(“java.lang.Object”)) b; 是一个Class的实例还是Object的一个实例?

在编写字符串时,如何调试导致转换错误的xml对象?

我有一个XML对象,当我将其转换为字符串时 public static String XMLElementToString(Document doc, Element e) { // — Output XML — try { TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transformer = transFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, “yes”); transformer.setOutputProperty(OutputKeys.ENCODING, “UTF-8”); StringWriter buffer = new StringWriter(); Result result = new StreamResult(buffer); Source source = null; if (e != null) { transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, “yes”); source = new DOMSource(e); } else […]

在编译器/机器级别执行什么操作?

我经常想知道在编译器或机器级别上做什么。 它与内存中的0和1有什么关系? 任何人都可以指出一些好的文献。

为什么编译?

今天早些时候,我在调试一些代码时发现像下面这样的东西没有抛出编译时exception,我吃了一惊: public Test () { HashMap map = (HashMap) getList(); } private List getList(){ return new ArrayList(); } 可以想象,在运行时抛出了ClassCastException ,但有人可以解释为什么在编译时将List转换为HashMap被认为是合法的吗?

仿射变换图形,而不是文本和标签

这篇文章是我回答问题的答案: 改变形状 这是我想要的图像: 这是一个简单程序生成的图像,因为您可以看到文本被旋转。 我想要水平文字: canvas被缩放,平移,旋转以进行绘制,因此文本不会水平显示,并且字体大小需要极大地减少(1.4)。 该程序是用Java(awt和JavaFX)编写的,但问题不是语言或技术相关,所以任何建议都是受欢迎的。 这是一个简单的程序: import javafx.application.Application; import javafx.geometry.VPos; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.layout.BorderPane; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.TextAlignment; import javafx.stage.Stage; public class TransRotScale extends Application { private static void drawGraph( GraphicsContext g ) { //— g.scale( 10.0, 10.0 ); g.rotate( Math.toDegrees( Math.atan2( -15.0, 40.0 ))); g.translate( -8, […]

为什么不能将Object 转换为String

没错 Object[] a = new String[]{“12″,”34″,”56”}; String[] b = (String[]) a; 没错 Object a = new String[]{“12″,”34″,”56”}; String[] b = (String[]) a; 运行时错误:ClassCastException Object[] a = new Object[3]; a[0] = “12”; a[1] = “34”; a[2] = “56”; String[] b = (String[]) a; 运行时错误:ClassCastException Object[] a = {“12″,”34″,”56”}; String[] b = (String[]) a; 当然,如果将Object[]变量创建为String[] ,我们可以将其转换回String[] 。 […]

有没有办法将java数据类型输出到控制台?

我正在尝试调试我inheritance的程序。 这个程序包含字符串,数组列表和集合,类型之间的大量转换,我需要做一些字符串操作( substring等) 当打印到控制台时,数据看起来像字符串(例如,它是一行文本,如Johnson, John或Chicago Region ),但我的代码错误输出各种index out of range错误,这表明我的代码要转换为字符串不工作。 我想试着找出正在进入的数据类型,并让我的方法validation程序是否按预期运行。 有没有办法在Java中找到字段类型? 在一个完美的世界中,我可以在每一步生成控制台输出,它会给我数据值,无论是字符串,数组列表还是集合。 可以这样做吗?

如何将String转换为字节数组?

我有一个String,它包含字节数组的String值。 我怎么能把这个字符串转换为字节数组? 我怎么试过: String stringValue=”33321232″; //the bytes in String byte[] bytes= (byte[])stringValue; System.out.println(getByteArrayAsString(bytes)); getByteArrayAsString方法应该返回结果String: 33321232 ,所以与stringValue相同。 (这是我的方法,它是有效的,但如何获取bytes ?) 谢谢!

如何在Java中将转换应用于Polygon对象

我做了一个变换并用它渲染了一个Polygon对象(网格是Polygon类型): at.setToTranslation(gameObject.position.x, gameObject.position.y); at.rotate(Math.toRadians(rotation)); at.scale(scale, scale); g2d.setTransform(at); g2d.fillPolygon(mesh); 现在我想返回我渲染的确切网格,以便我可以对它进行碰撞检查。 唯一的问题是,如果我返回网格,它返回未转换的网格。 所以我尝试将变换设置为Polygon对象(网格),如下所示: mesh = (Polygon)at.createTransformedShape(mesh); 但不幸的是at.createTransformedShape()返回一个只能转换为Path2D.Double的Shape。 所以,如果有人知道如何将Path2D.Double转换为Polygon或知道另一种方式来设置网格的转换请帮助。

为什么List 在编译和执行时吸收not-type元素?

我有这个演示,我不需要一个具有重绘架构的特定解决方案,但只是理解为什么这样做以及我为避免它而遗漏的任何事情。 我想知道为什么: 编译器允许将不是列表类型的元素插入到列表中 当我们尝试获取元素而不是在推送元素时抛出ClassCastexception import Test.*; //Inner classes import java.util.List; import java.util.ArrayList; public class Test { private List list = new ArrayList(); public Test() {} public static void main(String[] args) { Test a = new Test(); a.addElement(new String()); a.addElement(new Integer(0)); // No complain in comp/run-time, I dont understand why CastException is not thrown here String […]