java 泛型高手 能解决?

it73202 2010-03-04 01:49:54
首先很感谢各位java高手的回复,可能是我没有描述问清楚,至今没看到我想要的答案,就是问题好像没解决
这里再说一遍,期待java高手的指点,本人才用java两三天时间(之前用C#/C++多一点)

最终外层这样调用:

List <BlobDLLL> list = BaseBlob. <BlobDLLL>Parse(org_content);//org_content 是byte[]数组
泛型函数:

public static <T extends BaseBlob> List <T> Parse(byte[] data) throws Exception
{
List <T> series = new ArrayList <T>();
for(..) //些循环体内依据 字节流 的长度 和 T(某个继承BaseBlob 的类)对象本身长度 依次把字节流序列成一个个的对象,存入 series list里
{
T blob = new T() //????这是报错的,但就是想实现 实例化这个泛型参数T

这样的功能C++ 和 C# 是可以实现实,难道java没办法实现?

...

series.add(blob);
}
return series;
}
...全文
249 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 25 楼 bayougeng 的回复:
又盖这么高了。C/C++ codeca


总是一对一的谈话..
jafapple 2010-03-04
  • 打赏
  • 举报
回复
用大炮打蚊子,很不合适。

这世界上没有万能的东西,没有万能的语言,否则这世界哪会这么多彩。

混口饭吃,别为难自己 ,为难别人。 有些东西是要换一种思想做,而不是我觉得以前这样子那个XX可以实现,这个不能实现,那要想办法换个思路呀,


如上你所说的: 你不想实例化的特性,可以设置成 final static 类变量, C#所谓的“特性”,你也不知道他语言上是如何实现,因为C#的编译器实现真正的内幕有几人知道? 说不准也是和Java类似的作法,只不过人家的包装技术比较高明,能让你觉得“他”就是用一种新技术来提供一些别的语言所不能给你的东西,实际上幕后一样黑,可能更黑。谁知道呢。。

这世界就是, 骗人,骗自己, 再被人骗
bayougeng 2010-03-04
  • 打赏
  • 举报
回复
又盖这么高了。
ca
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 23 楼 it73202 的回复:
引用 21 楼 bearkin 的回复:引用 20 楼 it73202 的回复:引用 18 楼 bearkin 的回复:引用 17 楼 it73202 的回复:咋发现java很不方便呢, .......恩 不方便 我干啥都觉得不方便 ... ------------------------啥意思?你以前也不是用java 的? 没有 我生下来就觉得学啥都不太方便 其实你也一样 你是由C#衬托出JAVA的不方便.. 结贴给分吧~
------------------------------
这位兄弟,话中有话啊,都是程序员,混口饭吃,别这样嘛,


...没有啥方便不方便的 办事风格不同么.. Java又不是沾手就会的..
it73202 2010-03-04
  • 打赏
  • 举报
回复
引用 21 楼 bearkin 的回复:
引用 20 楼 it73202 的回复:引用 18 楼 bearkin 的回复:引用 17 楼 it73202 的回复:咋发现java很不方便呢, .......恩 不方便 我干啥都觉得不方便 ... ------------------------啥意思?你以前也不是用java 的?

没有 我生下来就觉得学啥都不太方便 其实你也一样 你是由C#衬托出JAVA的不方便..

结贴给分吧~

------------------------------
这位兄弟,话中有话啊,都是程序员,混口饭吃,别这样嘛,
验证码识别 2010-03-04
  • 打赏
  • 举报
回复


up


up
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 20 楼 it73202 的回复:
引用 18 楼 bearkin 的回复:引用 17 楼 it73202 的回复:咋发现java很不方便呢, .......恩 不方便 我干啥都觉得不方便 ...
------------------------啥意思?你以前也不是用java 的?


没有 我生下来就觉得学啥都不太方便 其实你也一样 你是由C#衬托出JAVA的不方便..

结贴给分吧~
it73202 2010-03-04
  • 打赏
  • 举报
回复
引用 18 楼 bearkin 的回复:
引用 17 楼 it73202 的回复:咋发现java很不方便呢,

.......恩 不方便 我干啥都觉得不方便 ...

------------------------啥意思?你以前也不是用java 的?
dongmoo 2010-03-04
  • 打赏
  • 举报
回复
就算是学习吧 就算是学习吧 就算是学习吧
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 17 楼 it73202 的回复:
咋发现java很不方便呢,


.......恩 不方便 我干啥都觉得不方便 ...
it73202 2010-03-04
  • 打赏
  • 举报
回复
咋发现java很不方便呢,
it73202 2010-03-04
  • 打赏
  • 举报
回复
这个在C#里叫特性,不是那种get /set 的属性,是定义在类的头的一种语法
是的,我是临时写一个java类库,不长期搞java的
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 13 楼 it73202 的回复:
引用 12 楼 bearkin 的回复:引用 11 楼 it73202 的回复:怎么区分哪些是静态成员变量,哪些是其他成员 不知道 应该有方法吧 因为你的问题我在复习一些以前的知识.. 如果你知道你要取的属性叫什么名 也可以直接取的
----------------------------
其实我想给每个类加一些附加信息,类似C#里面的attribute  (特性)
就是我只要知道这个类,不实例化它,都可以取到这些信息,

java里该怎么做呢


...我不知道这个是什么 我想类属性应该能够实现吧 .. (这个特性是什么? 注解?)
我觉得你还是应该先从头学下JAVA 或者找个懂JAVA的人搞这件事情
east_java 2010-03-04
  • 打赏
  • 举报
回复
it73202 2010-03-04
  • 打赏
  • 举报
回复
引用 12 楼 bearkin 的回复:
引用 11 楼 it73202 的回复:怎么区分哪些是静态成员变量,哪些是其他成员

不知道 应该有方法吧 因为你的问题我在复习一些以前的知识..
如果你知道你要取的属性叫什么名 也可以直接取的

----------------------------
其实我想给每个类加一些附加信息,类似C#里面的attribute (特性)
就是我只要知道这个类,不实例化它,都可以取到这些信息,

java里该怎么做呢
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 11 楼 it73202 的回复:
怎么区分哪些是静态成员变量,哪些是其他成员


不知道 应该有方法吧 因为你的问题我在复习一些以前的知识..
如果你知道你要取的属性叫什么名 也可以直接取的
it73202 2010-03-04
  • 打赏
  • 举报
回复
怎么区分哪些是静态成员变量,哪些是其他成员
BearKin 2010-03-04
  • 打赏
  • 举报
回复
引用 9 楼 it73202 的回复:
T  blob = (T)classObject.newInstance();  这样可以?


可以


public class OkOk {
public static final int i = 0;

public static void main(String[] args) throws IllegalArgumentException,
IllegalAccessException {
Field[] fields = OkOk.class.getDeclaredFields();
for (Field field : fields) {
System.out.println(field.getName());
System.out.println(field.getInt(null));
}
}

}



你最好去看下API
OkOk.class.getDeclaredFields();是获得该类里所有的属性(包括类属性和对象属性)
field.getName();获得该属性的名字
field.getInt(null); 获得该属性的值(参数列表里放的是对象 从对象里往外取值的时候需要一个去取值的对象 如果说是类属性的话就不用了 你获得的是List 所以应该用get而不是用getInt)
it73202 2010-03-04
  • 打赏
  • 举报
回复
T blob = (T)classObject.newInstance(); 这样可以?
it73202 2010-03-04
  • 打赏
  • 举报
回复
引用 7 楼 bearkin 的回复:
原谅我 一直都没摸清您的情况

------------------------
真的很感谢你,好像这个问题是解决了,编译不报错了
另外一个问题就是,我还要或得这个泛型参数所代表的类的 一些静态成员变量呢,怎么做,
最好给出代码,呵呵,我是java 菜鸟
加载更多回复(7)

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧